概述

安装(略)

在一台机器上模拟,开启6个实例:端口分别为:6379,6380,6381,6382,6383,6384

存放的目录在/opt/clusters


操作


在/opt/clusters中分别创建6379 6380 6381 6382 6383 6384目录,用于存放对应的数据文件

redission cluster yml配置 redis cluster启动配置_配置文件


将redis.conf配置文件复制到创建好的目录中,并进行修改

6379

修改一下参数:


bind 192.168.1.200 port 6379 daemonize yes pidfile /var/run/redis_6379.pid logfile "/opt/clusters/6379/6379.log" #禁用rdb存储方式 save "" #save 900 1 #save 300 10 #save 60 10000 dir /opt/clusters/6379 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 15000 appendonly yes appendfilename "appendonly.aof" appendfsync always


其它端口实例的配置文件的配置方式类似,只需要将对应的6379换成对应的端口号即可


由于redis-cluster需要使用rubby因此需要安装rubby

yum install ruby rubygems

gem install redis(安装redis与rubby的接口)

分别启动redis的实例,查看是否成功启动

redission cluster yml配置 redis cluster启动配置_配置文件_02


创建集群

1 192.168.1.200:6379 192.168.1.200:6380 192.168.1.200:6381 192.168.1.200:6382 192.168.1.200:6383 192.168.1.200:6384

1:表示将6个节点分成1:1,即分配成:3:3

redission cluster yml配置 redis cluster启动配置_配置文件_03



集群相关命令使用

client连接命令:redis-cli -c -h 192.168.1.200 -p 6379

cluster info #查看cluster信息

cluster nodes #查看cluster节点信息

redis-cluster是以slot作为分配的

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

cluster 添加节点

在/opt/clusters创建6385、6386目录,并将redis.conf配置文件复制到该目录,按照上面的配置文件进行配置

启动新redis节点

redission cluster yml配置 redis cluster启动配置_添加节点_04

将节点添加到集群中


redis-trib.rb add-node 192.168.1.200:6385 192.168.1.200:6379说明:将6385的节点添加到集群中,其中:192.168.1.200:6379 只需要随便指定集群节点中一个即可

redission cluster yml配置 redis cluster启动配置_添加节点_05


注意:当添加节点成功以后,新增加的节点不会有任何数据,需要为新增加的节点分配slot


为6385分配slot

redis-trib.rb reshard 192.168.1.200:6385

接着出现

redission cluster yml配置 redis cluster启动配置_配置文件_06

此处是输入你分配给6385多少slot,该处输入200

接着出现

redission cluster yml配置 redis cluster启动配置_redis_07

此处是输入接收slot的node id值,即输入6385的node id,可以使用cluster nodes查看node id

接着出现

redission cluster yml配置 redis cluster启动配置_redis_08


此处是选择分配slot的方式,all是随机从集群中的master选择slot分配给6385,done是指定一个master node来分配

输入all

接着出现

redission cluster yml配置 redis cluster启动配置_redis_09

输入yes即可

redission cluster yml配置 redis cluster启动配置_redis_10


添加6386作为6385的从节点

redis-trib.rb add-node 192.168.1.200:6386 192.168.1.200:6379

redission cluster yml配置 redis cluster启动配置_添加节点_11


进入6386节点,设置该节点为6385的从节点

cluster replicate b2a441498fe8f389232d03884219abf5fd934d34  #b2a441498fe8f389232d03884219abf5fd934d34是6385的node id

redission cluster yml配置 redis cluster启动配置_配置文件_12


成功添加节点

redission cluster yml配置 redis cluster启动配置_添加节点_13


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

cluster 删除节点

基于上面已经添加好的节点进行删除

首先先删除从节点6386

redis-trib.rb del-node 192.168.1.200:6386 f0bc771831d6315b2982eb027a5b0f5239e505ab #最后面的参数是node id

redission cluster yml配置 redis cluster启动配置_配置文件_14

接着删除主节点6385,由于主节点有slot需要先移除slot到其他主节点

redis-trib.rb reshard 192.168.1.200:6385

redission cluster yml配置 redis cluster启动配置_redis_15


最后删除6385节点即可

redission cluster yml配置 redis cluster启动配置_redis_16


完成

redission cluster yml配置 redis cluster启动配置_redis_17


ruby 环境安装