Redis 5.0集群搭建
参考过已下文章 https://yq.aliyun.com/articles/657475
1、说明
Redis5.0版本放弃Ruby的集群方式,redis-cli命令代替redis-trib.rb命令
2、搭建过程
一、首先安装一个Redis
1、下载redis安装包
wget -P /usr/local/temp http://download.redis.io/releases/redis-5.0.0.tar.gz
2、解压到指定目录
tar -zxvf /usr/local
3、具体安装过程,https://blog.csdn.net/Ruyi_squad/article/details/98737168
4、创建一个集群的主目录,我的是usr/local/redis-cluster
5、usr/local目录下我有一个单机redis目录、将目录复制到集群的主目录
cp redis redis-cluster/redis01 -r
cp redis redis-cluster/redis02 -r
cp redis redis-cluster/redis03 -r
cp redis redis-cluster/redis04 -r
cp redis redis-cluster/redis05 -r
cp redis redis-cluster/redis06 -r
6、每个redis0x目录中的bin/redis.conf配置
port 7001/7002.....7006 #端口
cluster-enabled yes #启用集群模式
cluster-config-file nodes.conf #统一
daemonize yes #后台运行
protected-mode no #非保护模式
pidfile /var/run/redis_7001/7002.....7006.pid
7、配置完成后,全部启动
7.1、在根目录下创建一个批处理vim start-all.sh
里面内容
cd redis01/bin
./redis-server redis.conf
cd ../../
cd redis02/bin
./redis-server redis.conf
cd ../../
cd redis03/bin
./redis-server redis.conf
cd ../../
cd redis04/bin
./redis-server redis.conf
cd ../../
cd redis05/bin
./redis-server redis.conf
cd ../../
cd redis06/bin
./redis-server redis.conf
cd ../../
文件编辑结束!
./start-all.sh开启所有redis-server
8、启动集群
redis-cli --cluster create 192.168.140.114:7001 192.168.140.114:7002 192.168.140.114:7003 192.168.140.114:7004 192.168.140.114:7005 192.168.140.114:7006 --cluster-replicas 1
9、Redis集群成功启动
10、搭建过程中遇到的问题
10.1 [ERR] Not all 16384 slots are covered by nodes.
解决方法:参考https://blog.csdn.net/u014640414/article/details/95208508
1)、将需要新增的节点下aof、rdb等本地备份文件删除;
2)、同时将新Node的集群配置文件删除,即:删除你redis.conf里面cluster-config-file所在的文件;
3)、再次添加新节点如果还是报错,则登录新Node,./redis-cli–h x –p对数据库进行清除:
192.168.52.131:7001> flushdb #清空当前数据库
通过以上解决方法中的1)、2)或者3)之后再执行脚本,成功执行;
10.2 [ERR] Node 192.168.140.114:7001 is not empty. Either the node already knows other nodes
检查配置文件,不粗心,应该不会遇到吧!