转自:https://blog.51cto.com/u_16099166/6885197
一、下载安装
二、本文架构(三台服务器,每台部署两个节点,主从同步,生产最好是部署六台服务器):
三、进入redis安装目录,复制redis.conf文件,建立从节点配置文件
1 #进入redis安装目录 2 cd redis 3 4 #复制redis.conf文件 5 cp redis.conf redis-slave.conf 6 7 #编辑主从配置文件 8 vim redis.conf
编辑内容#集群配置
1 #开启集群模式 2 cluster-enabled yes 3 4 #超时时间,超时15s 则认为master宕机,随后主备切换 5 cluster-node-timeout 15000 6 7 #每一个节点需要有一个配置文件。每个节点处于集群的角色都需要告知其他所有节点,彼此知道,这个文件用于存储集群模式下的集群状态等信息,这个文件是由redis自己维护,我们不用管。如果你要重新创建集群,那么把这个文件删了就行。 8 #根据你启用的节点来命名,最好和端口保持一致 9 cluster-config-file nodes-6380.conf 10 11 12 #节点配置 13 14 #6380,跟端口保持一致 15 pidfile "/var/run/redis_6380.pid" 16 17 #因为主从在同一台服务器,所以rdb最好修改分开存储(6台服务器的话可以不修改) 18 dbfilename "dump-slave.rdb" 19 20 #绑定当前服务器的IP,提供远程访问
1 bind 0.0.0.0 -::1 2 3 # redis启动端口 4 port 6380 5 6 # 开启线程守护,后台启动 7 daemonize yes 8 9 #关闭保护模式,可以远程访问redis 10 protected-mode no 11 12 #开启AOF日志 13 appendonly yes 14 15 #设置你的密码,当然你也可以不设置,直接注释掉,那么你的redis在关闭保护模式的情况下,任何人都可以进行操作了. 16 masterauth password #连接从机redis密码 17 requirepass password #本机redis密码
启动主从节点
1 #启动主节点 2 nohup ./bin/redis-server ./redis.conf & 3 4 #启动从节点 5 nohup ./bin/redis-server ./redis-slave.conf &
启动后查看运行状态,可看到redis是集群模式启动
另外两台服务器同样的操作即可
四、启动集群
前面只是把redis服务当做集群模式启动,但是他们每台服务器之间还并不知道,所以我们需要给他建立连接关系
注:现在所有节点都是master节点,没有从节点
#创建集群,cluster-replicas 1:主节点和从节点比例为1,1-3为主,4-6为从,这也是最经典用的最多的集群模式
1 #创建集群,cluster-replicas 1:主节点和从节点比例为1,1-3为主,4-6为从,这也是最经典用的最多的集群模式 2 #如果设置了redis密码,需要加 -a your password
1 redis-cli --cluster create ip1:port1 ip2:port2 ip3:port3 ip4:port4 ip5:port5 ip6:port6 --cluster-replicas 1 -a 123456
执行后出现下图提示,输入yes:
执行成功后会出现下图:
三台master服务器会分槽,也就是slots[xxx-xxx],redis默认有16383个槽,会自动均分给每个服务器;slave从服务器不会分配槽
进入redis-cli,查看集群常用命令:
1 #集群模式进入redis-cli, -c 代表集群模式 -a 代表redis密码 2 redis-cli -h [ip] -p [pord] -c -a [password] 3 4 #打印集群的信息 5 cluster info 6 7 #列出集群当前已知的所有节点( node),以及这些节点的相关信息。 8 节点(主从关系可以从这里看出来) 9 cluster nodes 10 11 #查看当前登录的redis的信息 12 info replication
执行后如果出现下面的异常:
1 # 1、结束所有redis进程; 2 ps -ef|grep redis 3 4 kill -9 id 5 6 2、删除redis安装目录下rdb、nodes.conf文件删除 7 rm nodes-6379.conf 8 rm dump.rdb 9 10 3、重启redis,然后启动集群即可
模拟某master挂掉,验证从节点是否会替换,配置文件我们设置的是15秒
某master挂掉后,redis集群变为不可用状态,等从节点转为master节点后恢复正常使用;具体步骤和日志自己模拟下就行了,不详细解说了
等挂掉的master重启后,会自动变为从节点。
如果主从同时挂掉,集群也就挂掉了。
学无止境...
标签:三主三,redis,三主六,cluster,集群,conf,服务器,节点 From: https://www.cnblogs.com/gzy2016Blog/p/17717268.html