- redis集群有三种模式,分别是主从模式、sentinel模式、cluster模式
三主三从redis服务器搭建
(1) 创建cluster目录存放redis.conf文件,命令如下:
mkdir cluster
cp redis.conf cluster/redis_6379.conf
cp redis.conf cluster/redis_6380.conf
(2) 启动配置文件内容
bind 192.168.128.101 #本机IP
port 6379 #自定义端口,避免端口冲突
daemonize yes #后台运行
pidfile /usr/local/src/redis-6.0.5/redis_6379.pid #pid存放路径,6379与端口号同步
logfile /usr/local/src/redis-6.0.5/redis_6379.log #log存放路径,6379与端口号同步
cluster-enabled yes #开启集群
cluster-node-timeout 5000 #默认15秒,改成5秒
(3) 运行redis
./redis-server /usr/local/src/redis-6.0.5/cluster/redis_6379.conf
ps -aux|grep redis

(4) 进入客户端
./redis-cli -h 192.168.128.103 -c -p 6379
(5) 开放端口
firewall-cmd --query-port=8080/tcp
firewall-cmd --add-port=6379/tcp
firewall-cmd --add-port=6380/tcp
firewall-cmd --add-port=16379/tcp
firewall-cmd --add-port=16380/tcp
(6) 建立集群
./redis-cli --cluster create 192.168.128.101:6379 192.168.128.101:6380 192.168.128.102:6379 192.168.128.102:6380 192.168.128.103:6379 192.168.128.103:6380 --cluster-replicas 1
注:前三个是主节点 后三个是从节点,replicas 1 表示我们希望为集群中的每个主节点创建一个从节点
查看集群对应关系
cluster slots #查看集群对应关系
cluster info #查看集群信息
cluster nodes #查看节点状态
redis集群工具
参考:https://github.com/eyjian/redis-tools?spm=a2c4e.10696291.0.0.662a19a4KoQcYl
搭建redis集群中的问题及处理方法
如果报错"[ERR] Node XXX is not empty. Either the node already knows other nodes",先关闭redis,然后删除 redis目录如下文件
dump.rdb
nodes-6379.conf
redis集群 Waiting for the cluster to join 一直等待
redis集群不仅需要开通redis客户端连接的端口,而且需要开通集群总线端口
集群总线端口为redis客户端连接的端口 + 10000
如redis端口为6379
则集群总线端口为16379
报错:Sorry, the cluster configuration file nodes.conf is already used by a different Redis Cluster node. Please make sure that different nodes use different cluster configuration files.
需要在redis.conf文件中中的“cluster-config-file”指定为不同的名字 "cluster-config-file nodes-6379.conf"
进入redis客户端报错:redis (error) MOVED 5798 192.168.128.102:6379
参考:https://blog.csdn.net/miss1181248983/article/details/90056960
参考:https://www.cnblogs.com/mliu/p/11855135.html
网友评论