Redis 高可用集群搭建

介绍

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

Redis官网

https://redis.io/download

一、安装Redis

Linux 编译安装Redis

1)安装编译环境

Centos

yum install gcc tar zip openssl openssl-devel automake glibc-static autoconf libtool make build-essential

Ubuntu

sudo apt-get install make gcc build-essential -y

2)编译Redis

此处编译版本为6.0.4,如需要其他版本,请转步官网

wget http://download.redis.io/releases/redis-6.0.4.tar.gz
tar xzf redis-6.0.4.tar.gz
mv redis-6.0.4 /usr/local/redis
cd /usr/local/redis
make
make install
  • 注意 在make时可能出现错误:
    "error: jemalloc/jemalloc.h: No such file or directory"
    解决方案:运行make MALLOC=libc即可

image.png

3)建立软连接

ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server -f
ln -s /usr/local/redis/src/redis-cli /usr/bin/redis-cli -f
ln -s /usr/local/redis/src/redis-sentinel /usr/bin/redis-sentinel -f
ln -s /usr/local/redis/src/redis-check-rdb /usr/bin/redis-check-rdb -f
ln -s /usr/local/redis/src/redis-check-aof /usr/bin/redis-check-aof -f

二、编辑配置文件

这里我有五台服务器。将下面配置文件放到/root/redis,可以自己随意放,到时候启动命令修改目录为你的目录就行。
配置文件内容,如果想使用其他端口修改6379为你使用的端口。

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

三、启动服务:

启动命令如下,其中/root/redis/redis.conf是配置文件地址

redis-server /root/redis/redis.conf

四、放行防火墙

Centos 7

firewall-cmd --permanent --zone=public --add-port=6379/tcp
firewall-cmd --permanent --zone=public --add-port=16379/tcp
firewall-cmd --reload

Ubuntu

ufw allow 6379
ufw allow 16379
  • 很多人在建立集群的时候一直不能成功是因为,没有放行16379端口,建立集群需要放行端口号+10000的端口。

五、建立集群

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

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确认。
image.png
成功后的情况
image.png

六、查看集群信息

查看集群信息:

cluster info

查看节点列表:

cluster nodes

修复插槽出错:

redis-cli --cluster fix 127.0.0.1:6379
# Linux   Redis  

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×