测试2台机器, 每台机器3个节点(redis集群最少需要6个节点)
1.2台机器安装redis, 安装目录 /usr/local/
2.分别创建3个节点
1).创建集群目录:cd /usr/local
mkdir redis_cluster
mkdir 7000 7001 7002
cp redis/redis.config ./redis_cluster/7000/
cp redis/redis.config ./redis_cluster/7001/
cp redis/redis.config ./redis_cluster/7002/
2).修改对应的配置, 有几个参数需要注意一下,
daemonize yes //redis后台运行
pidfile /var/run/redis_7000.pid //pidfile文件对应7000,7001, 7002
port 7000 //端口7000,7001, 7002
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_7000.conf //集群的配置7000,7001, 7002
protected-mode no
bind注释掉,或者设置成0.0.0.0
requirepass注释掉 //密码, 这里先不设置, 如果要设置集群密码的话只要再加上 masterauth 就可以了
#masterauth password123
#requirepass password123
其他的配置这里就不多说了
3).启动
确认所有节点启动成功, 并且端口开放
3.创建集群
1)所有的节点已经准备好了, 安装ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis
这里出现个版本低的错误, 安装个更高版本的就可以, 可以参考 https://www.cnblogs.com/PatrickLiu/p/8454579.html 感谢博主
2)接下来运行一下redis-trib.rb
4. 创建集群
/usr/local/redis/src/redis-trid.rb create --replicas 1 0.0.0.0:7000 0.0.0.0:7001 0.0.0.0:7002 0.0.0.1:7003 0.0.0.1:7004 0.0.0.1:7005
这里有地方需要注意下
1.redis的集群端口, 需要对应放开加10000的端口, 例如: 7000端口, 还需要再放开17000, 7001对应17001
2.在出现waiting for the cluster to join的时候, 需要用cluster meet命令. 登录某一个节点的客户端, 执行cluster meet 0.0.0.0 7000
可以看到已经成功, 至此, 集群搭建完成