redis集群搭建配置
redis_7000.conf,其中cluster配置中的config-file Nodes_7000.conf在dir下会自动生成
分别在/etc/下编辑redis_7000,7002,7004.conf
在2机器上添加并编辑7001,7003,7005.conf (由于2 机器上没有安装redis, 可以使用scp -r 包名 目的IP:目的路径)后直接make install
分别在1,2机器上的dir目录下创建7000,7001,7002,7003,7004,7005目录,并启动6个redis服务
2机器
实验前需要确认防火墙disabled和iptables规则清空
下载安装Ruby 2.2版本,yum库中只有2.0版本,不符合要求,此时有两种方法
①下载源码包编译安装 ②下载源码包转成rpm包
本例中用方法二
按照步骤安装并检查rpm包是否已经生成
rpm -ivh .rpm包(如果有依赖包则用yum localinstall)
重要的文件redis-trib.rb 拷贝到/usr/bin/方便直接调用
安装完成,两个绿色(在生产环境中一般不会在同一台机器上安装3个redis集群,因为这样无法实现高可用)
redis集群操作
redis-cli -c -h -p
退出后检测集群操作
redis-trib.rb check IP:port
cluster nodes
cluster info
新增节点,cluster meet IP port
如上图所示,添加7007节点成功,同理再增加一个7006节点
如上图所示,发现通过此方法添加节点增加的都是master,如果想把master设置成某一个节点的从,需要登录该节点,并使用cluster replicate node_ID设置成该node_ID的从,本例中登录7006设置成7007的从
移除节点,cluster forget node_ID
如上图所示,无法删除master节点,无法在登录自己的状态下删除本节点,只有登录别的master节点才能用该命令删除slave节点,想要删除master,必须登录该master用cluster replicate node_ID把自己设置成slave才能删除
cp /sr/loc退出alc/redisc-4.0.1/src/redis-trib.rb /usr/bin/