集群方案
1.redis-trib.rb文件自动部署集群
] # vim redis.conf
cluster-enabled yes //启动集群
//与机器端口对应,存节点名称等等
cluster-config-file nodes-6379.conf
//与机器端口对应,存执行时的id
pidfile /var/run/redis_9001.pid
//设置超时时间
cluster-node-timeout 15000
//必须大于等于三个设备 , 1 代表一主一从
redis-trib.rb create -replicas 1 192.168.1.111:6379 1 192.168.1.112:6379 192.168.1.113:6379 192.168.1.114:6379
2.手动命令部署
//修改每台机器的redis.conf
] # vim redis.conf
cluster-enabled yes //启动集群
//与机器端口对应,存节点名称等等
cluster-config-file nodes-6379.conf
//与机器端口对应,存执行时的id
pidfile /var/run/redis_9001.pid
//设置超时时间
cluster-node-timeout 15000
//主机111,通过命令握手集群机器
]# redis-cli
6379> cluster meet 192.168.1.112:6379
6379> cluster meet 192.168.1.113:6379
6379> cluster meet 192.168.1.114:6379
//查看握手消息,成功了几个,正常是4个
6379> cluster info
//查看已连接信息
6379 > cluster nodes
//创建添加哈希槽脚本
]# touch addslots.sh
]# vim addslots.sh
#! /bin/bash
for ((i=$1;i <= $2; i++))
do
redis-cli -h $3 cluster addslots $i
done
]# chmod +x addslots.sh
]# ./addslots.sh 0 5000 192.168.1.112:6379
]# ./addslots.sh 5001 10000 192.168.1.113:6379
]# ./addslots.sh 10001 16383 192.168.1.114:6379
]# redis-cli
//看到连接为ok就已经连接成功
6379> cluster info
注意事项
1.注意6379端口与16379端口必须开放
2.注意6379-nodes.conf配置文件,每台节点名不能一样(有一串16进制)
3.端口没开放可以使用一下命令开发
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public--add-port=16379/tcp --permanent
// 重新加载
firewall-cmd --reload