Redis 高可用集群搭建

admin 2月前 335

Redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。redis集群的性能和高可用性均优于之前版本的哨兵模式,且集群配置非常简单。

1、搭建

Centos 搭建方案:

https://www.4gml.com/thread-131.htm

Ubuntu 搭建方案:

https://www.4gml.com/thread-125.htm

2、配置文件

这里我有五台服务器,每台创建两个服务。将下面两个配置文件放到/root/redis,可以自己随意放,到时候启动命令修改目录为你的目录就行。

两个配置文件:

redis.conf

port 6379
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis_6379.pid
cluster-enabled yes
cluster-config-file /root/redis/nodes_6379.conf
cluster-node-timeout 15000
appendonly yes

redis6380.conf

port 6380
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis_6380.pid
cluster-enabled yes
cluster-config-file /root/redis/nodes_6380.conf
cluster-node-timeout 15000
appendonly yes

3、启动服务:

redis-server /root/redis/redis.conf
redis-server /root/redis/redis6380.conf

4、放行防火墙

firewall-cmd --permanent --zone=public --add-port=6379/tcp
firewall-cmd --permanent --zone=public --add-port=6380/tcp
firewall-cmd --permanent --zone=public --add-port=16379/tcp
firewall-cmd --permanent --zone=public --add-port=16380/tcp
firewall-cmd --reload
  • 很多人在建立集群的时候一直不能成功是因为,没有放行16379和16380端口,建立集群需要放行端口号+10000的端口。

5、建立集群

在其中一台机器上运行以下命令

redis-cli --cluster create --cluster-replicas 1 192.168.253.36:6379 192.168.253.36:6380 192.168.253.37:6379 192.168.253.37:6380 192.168.253.38:6379 192.168.253.38:6380 192.168.253.39:6379 192.168.253.39:6380 192.168.253.40:6379 192.168.253.40:6380 

上面ip和端口信息修改为你的信息,之后会需要输入yes确认。

成功后的情况

6、查看集群信息

查看集群信息:

cluster info

查看节点列表:

cluster nodes

修复插槽出错:

redis-cli --cluster fix 127.0.0.1:6379
最后于 2月前 被admin编辑 ,原因:
最新回复 (0)
全部楼主
返回
发新帖