CentOS8 上 redis5.0 集群的部署

1、集群规划

本文以CentOS8为基础操作环境
由于redis大部分情况下是单核运行,为了充分利用服务器资源,服务器IP与redis集群规划如下:

HostName IP 端口
redis01 10.253.10.111 7001
redis01 10.253.10.111 7002
redis01 10.253.10.111 7003
redis02 10.253.10.95 7001
redis02 10.253.10.95 7002
redis02 10.253.10.95 7003

2、安装配置

2.1、安装

下载 redis-5.0.3-1.module_el8.0.0+6+ab019c03.x86_64.rpm 包
在 redis01 与 redis02 上执行rpm命令安装

rpm -ivh redis-5.0.3-1.module_el8.0.0+6+ab019c03.x86_64.rpm 

2.2、配置

在 redis01 与 redis02 上都执行以下操作

#xxxx
sysctl vm.overcommit_memory=1 

#创建集群目录并进入
mkdir -p /data/rediscluster
cd /data/rediscluster/

#创建每个redis进程的配置目录
mkdir 700{1..3}

#配置7001目录
cd 7001
vi redis.conf
#写入以下内容
port 7001
requirepass XXXXXXXXXXX
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
pidfile "/data/rediscluster/7001/redis.pid"
logfile "/data/rediscluster/7001/redis.log"
daemonize yes
dir "/data/rediscluster/7001"

#在7002、7003目录下同样操作,注意redis.conf文件中7001对应替换成7002与7003
cp /data/rediscluster/7001/redis.conf /data/rediscluster/7002/
sed -i 's/7001/7002/' /data/rediscluster/7002/redis.conf

cp /data/rediscluster/7001/redis.conf /data/rediscluster/7003/
sed -i 's/7001/7003/' /data/rediscluster/7003/redis.conf

2.3、运行

在 redis01 与 redis02 上都执行以下操作

redis-server /data/rediscluster/7001/redis.conf
redis-server /data/rediscluster/7002/redis.conf
redis-server /data/rediscluster/7003/redis.conf

注意系统的防火墙配置,如果没有关闭防火墙,则需要放行7001-7003端口
另外注意还需要放行7001-7003 + 10000的集群总线端口

#设置放行
firewall-cmd --zone=public --add-port=7001/tcp --permanent
firewall-cmd --zone=public --add-port=7002/tcp --permanent
firewall-cmd --zone=public --add-port=7003/tcp --permanent
firewall-cmd --zone=public --add-port=17001/tcp --permanent
firewall-cmd --zone=public --add-port=17002/tcp --permanent
firewall-cmd --zone=public --add-port=17003/tcp --permanent

#重新载入配置
firewall-cmd --reload

#查看规则
firewall-cmd --zone=public --list-ports   或者 --list-all

在任意一台机器上执行

#创建节点
#cluster-replicas 1表示每个master有一个salve
#那就有3个master,3个salve
# -a 密码
redis-cli -a XXXXXXXXXXXX --cluster create --cluster-replicas 1 10.253.10.111:7001 10.253.10.111:7002 10.253.10.111:7003 10.253.10.95:7001 10.253.10.95:7002 10.253.10.95:7003

3、验证查看

以下是一些集群验证、查看、添加节点的常用命令
注意如果有设置密码,需要增加 -a 参数

#查看集群状态
redis-cli --cluster info 10.253.10.111:7001

#检查节点
redis-cli --cluster check 10.253.10.111:7001

#连接节点
redis-cli -c -p 7001

4、添加节点

#首先需要配置好新的redis进程,假设2台机器各新增7004的redis配置
#运行redis01上的7004
redis-server /data/rediscluster/7004/redis.conf

#添加节点到集群中
redis-cli --cluster add-node 10.253.10.111:7004 127.0.0.1:7001

#运行检查命令,获取新master编号
redis-cli --cluster check 127.0.0.1:7001

#给新master添加salve
redis-cli --cluster add-node --cluster-slave --cluster-master-id "新master编号" 10.253.10.95:7004 127.0.0.1:7001 

#查看是否添加成功
redis-cli --cluster info 127.0.0.1:7001   

#把所有节点上的数据重新进行均衡
#rebalance #表示重新进行均衡
redis-cli --cluster rebalance --cluster-threshold 1 --cluster-use-empty-masters 127.0.0.1:7001

#迁移数据,把其他节点的数据迁移到新节点上
#--cluster-from all  #所有节点
#--cluster-slots 300  #迁移的个数
redis-cli --cluster reshard --cluster-from all --cluster-to 新master编号 --cluster-slots 300 --cluster-yes 127.0.0.1:7001

你可能感兴趣的:(数据库)