redis配置2

2017-11-23  本文已影响0人  简繁之间

上一篇已经实现了多节点的Master-Slave,其实也可以称作为集群,但是是以命令的方式实现的,不怎么方便,现在以配置的方式,实现Redis集群

按照上文中的方法 配置几个redis终端(不在表述)

修改配置文件,这里的配置除了端口和守护进程都是注释掉的,需要吧注释#去除

#启动守护进程

demonize yes

#端口号,与文件夹名保持一致

port9001

#启用redis集群

cluster-enabled yes

#还不清楚这是干嘛用的

cluster-config-file nodes.conf #这个前面会有端口号,我都给去掉了暂时没有影响

#超时时间

cluster-node-timeout5000  # 这个没改还是5000,看似没什么影响

#开始append only模式,redis 将每一次写操作请求都追加到appendonly.aof 文件中,redis重新启动时,会从该文件恢复出之前的状态

appendonly yes

完成这些后启动实例看看是否能成功

完成上述操作进到 redis目录下的src文件夹运行redis-trib.rb文件,创建集群,让这三个实例间相互通信

./redis-trib.rb create --replicas0127.0.0.1:9001127.0.0.1:9002127.0.0.1:9003

注意这里可能报错

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in`require': cannot load such file -- redis (LoadError)from/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in`require'from./redis-trib.rb:25:in`'

也可能是其他错误,但是总结了一下就是ruby 支持问题

需要安装ruby支持

yum install ruby  //ruby安装

yum install rubygems //rubygems组件

Gem install redis   //redis和ruby的接口

最后一个是看ruby 是不是安装成功的其余的干嘛的可以去百度一下,讲解的比我详细多了

至此算是完成了ruby 安装,但是发现还是无法建立通信

试了很多最后发下redis  所有服务需要重启才能完成

重启,然后建立通信,成功

使用redis-trib.rb进行集群检查

./redis-trib.rb check127.0.0.1:9001 //需要在redis src下

在强制关机后redis集群会报错

[ERR] Node 127.0.0.1:9002 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

删除.aof 和nodes.conf 文件重启电脑 redis-server redis.conf 再次调用上面的集群重连

集群启动不能再用redis-cli -p 9001 启动

会报错

(error) MOVED 5798 127.0.0.1:9002

需要用 redis-cli -c -h 127.0.0.1  -p 9001

如何在不用【config set】命令的情况下,将Redis持久化由RDB切换到AOF

先在从机配置AOF,把这个AOF COPY到主机然后在配置主机AOF重启,不然会丢失数据

RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。

RDB在断电时容易丢失数据

使用 AOF 持久化会让 Redis 变得非常耐久(much more durable)

AOF可以设置不同的 fsync 策略 默认是1秒一次,就算发生故障停机,也最多只会丢失一秒钟的数据

至此redis 集群完成  欠缺redis  集群增加删除节点后面做过了补充上,下面一段时间将关注redis方法

上一篇下一篇

猜你喜欢

热点阅读