部署Redis Cluster
如未指定,下述命令在所有节点执行!
一、系统资源规划
节点名称 | 系统名称 | CPU/内存 | 网卡 | 磁盘 | IP地址 | OS |
---|---|---|---|---|---|---|
Master1 | master1 | 2C/4G | ens33 | 128G | 192.168.0.11 | CentOS7 |
Master2 | master2 | 2C/4G | ens33 | 128G | 192.168.0.12 | CentOS7 |
Master3 | master3 | 2C/4G | ens33 | 128G | 192.168.0.13 | CentOS7 |
Slave1 | slave1 | 2C/4G | ens33 | 128G | 192.168.0.21 | CentOS7 |
Slave2 | slave2 | 2C/4G | ens33 | 128G | 192.168.0.22 | CentOS7 |
Slave3 | slave3 | 2C/4G | ens33 | 128G | 192.168.0.23 | CentOS7 |
二、系统软件安装与设置
1、安装基本软件
yum -y install vim wget epel-release
2、设置SELinux、防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3、设置名称解析
echo 192.168.0.11 master1 >> /etc/hosts
echo 192.168.0.12 master2 >> /etc/hosts
echo 192.168.0.13 master3 >> /etc/hosts
echo 192.168.0.21 slave1 >> /etc/hosts
echo 192.168.0.22 slave2 >> /etc/hosts
echo 192.168.0.23 slave3 >> /etc/hosts
4、设置NTP
yum -y install chrony
systemctl start chronyd
systemctl enable chronyd
systemctl status chronyd
chronyc sources
三、部署Redis Cluster
1、安装Redis
yum -y install redis
修改所有节点Redis配置文件/etc/redis.conf:
# bind 127.0.0.1
protected-mode no
daemonize yes
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-require-full-coverage no
启动Redis,并设置自启动:
systemctl start redis
systemctl enable redis
systemctl status redis
2、创建Redis Cluster
在Master1节点上meet其他Redis节点:
redis-cli cluster meet 192.168.0.12 6379
redis-cli cluster meet 192.168.0.13 6379
redis-cli cluster meet 192.168.0.21 6379
redis-cli cluster meet 192.168.0.22 6379
redis-cli cluster meet 192.168.0.23 6379
在任意节点查看Redis Cluster节点状态:
redis-cli cluster nodes
在任意节点查看Redis Cluster状态:
redis-cli cluster info
在Master1节点上创建添加槽位脚本addslots.sh
start=$1
end=$2
node=$3
for slot in `seq ${start} ${end}`
do
redis-cli -h ${node} cluster addslots ${slot} > /dev/null
done
echo "slot${start}-slot${end} is assigned to node $3"
在Master1节点分配槽位:
bash addslots.sh 0 5461 192.168.0.11
bash addslots.sh 5462 10922 192.168.0.12
bash addslots.sh 10923 16383 192.168.0.13
在任意节点查看Redis Cluster节点状态:
redis-cli cluster nodes
在任意节点查看Redis Cluster状态:
redis-cli cluster info
在Slave节点上分别指定各自Master节点:
redis-cli cluster replicate xxxxxxxxxx
在任意节点查看Redis Cluster槽位状态:
redis-cli cluster slots