CentOS 6 study notes (12)

CentOS6 environment to build a Redis cluster

Posted by Chen Xingxu on February 15, 2021

CentOS 6学习笔记(十二)–CentOS6环境搭建Redis集群

安装 Redis 单机版

建议阅读我之前发布的笔记:

CentOS 6学习笔记(九)–CentOS6环境安装Redis

搭建 Redis 集群

Redis 集群中至少应该有三个节点,要保证集群的高可用,需要每个节点有一个备份机。也就是说,Redis 集群至少需要 6 台服务器。

本笔记通过在单台服务器上运行 6 个 Redis 实例的方式来模拟 Redis 集群。

准备工作

安装 Ruby

yum -y install ruby
yum -y install rubygems
#将redis-3.0.0.gem上传到/usr/local目录下
cd /usr/local
gem install redis-3.0.0.gem

配置

搭建集群

mkdir /usr/local/redis-cluster
cp /usr/local/redis/bin /usr/local/redis-cluster/redis01 -r
cd /usr/local/redis-cluster/redis01
rm -f appendonly.aof
rm -f dump.rdb
vim redis.conf

将端口号 port 改为7001

将 cluster-enable 的注释去掉

cd /usr/local/redis-cluster
cp -r redis01/ redis02
cp -r redis01/ redis03
cp -r redis01/ redis04
cp -r redis01/ redis05
cp -r redis01/ redis06
#将端口号 port 改为7002
vim /usr/local/redis-cluster/redis02/redis.conf
#将端口号 port 改为7003
vim /usr/local/redis-cluster/redis03/redis.conf
#将端口号 port 改为7004
vim /usr/local/redis-cluster/redis04/redis.conf
#将端口号 port 改为7005
vim /usr/local/redis-cluster/redis05/redis.conf
#将端口号 port 改为7006
vim /usr/local/redis-cluster/redis06/redis.conf

拷贝 Redis 自带的 Ruby 脚本文件

cp /usr/local/redis-3.0.0/src/redis-trib.rb /usr/local/redis-cluster/

创建运行脚本

vim /usr/local/redis-cluster/start-all.sh
cd /usr/local/redis-cluster/redis01
./redis-server redis.conf
cd /usr/local/redis-cluster/redis02
./redis-server redis.conf
cd /usr/local/redis-cluster/redis03
./redis-server redis.conf
cd /usr/local/redis-cluster/redis04
./redis-server redis.conf
cd /usr/local/redis-cluster/redis05
./redis-server redis.conf
cd /usr/local/redis-cluster/redis06
./redis-server redis.conf

修改 .sh 文件的权限

chmod u+x start-all.sh

使用

执行运行脚本

/usr/local/redis-cluster/start-all.sh
#查看是否运行
ps aux|grep redis

使用 Ruby 脚本搭建集群

replicas 1 表示每个节点有 1 台备份机

/usr/local/redis-cluster/redis-trib.rb create --replicas 1 192.168.25.154:7001 192.168.25.154:7002 192.168.25.154:7003 192.168.25.154:7004 192.168.25.154:7005 192.168.25.154:7006

创建过程中需要手动输入 yes 并回车

使用 redis-cli 连接集群

#连接本机的Redis集群
#-c表示连接的是集群
/usr/local/redis-cluster/redis01/redis-cli -p 7004 -c
#连接远程服务器的Redis集群
/usr/local/redis/bin/redis-cli 192.168.25.154 -p 7004 -c

创建关闭集群的脚本

vim /usr/local/redis-cluster/shutdown-all.sh
cd /usr/local/redis-cluster/redis01
./redis-cli -p 7001 shutdown
cd /usr/local/redis-cluster/redis01
./redis-cli -p 7002 shutdown
cd /usr/local/redis-cluster/redis01
./redis-cli -p 7003 shutdown
cd /usr/local/redis-cluster/redis01
./redis-cli -p 7004 shutdown
cd /usr/local/redis-cluster/redis01
./redis-cli -p 7005 shutdown
cd /usr/local/redis-cluster/redis01
./redis-cli -p 7006 shutdown

修改 .sh 文件的权限

chmod u+x shutdown-all.sh

维护指令总结

#开启Redis集群
/usr/local/redis-cluster/start-all.sh
#关闭Redis集群
/usr/local/redis-cluster/shutdown-all.sh
#连接本机的Redis集群
/usr/local/redis-cluster/redis01/redis-cli -p 7004 -c
#连接远程服务器的Redis集群
/usr/local/redis/bin/redis-cli 192.168.25.154 -p 7004 -c
#查看Redis是否运行
ps aux|grep redis

开机自启

vim /etc/rc.d/rc.local

添加

/usr/local/redis-cluster/start-all.sh