Redis 集群搭建
💖1.环境:
centos6.7
、redis-6.2.6
📖2.模式:
5主+20丛+5备丛(即:1主-4从-1备丛)
⭐3.服务器环境检查及安装
查看服务器是否安装了
gcc
rpm -q gcc
若没有安装,则进行
gcc
安装
yum install -y gcc
🌟4.redis下载
前往redis官网下载https://redis.io/download
redis-6.2.6.tar.gz
🌟5.将redis-6.2.6.tar.gz
上传至服务器/soft文件夹(可其他文件夹)
🌟6.解压redis-6.2.6.tar.gz
tar -zxvf redis-6.2.6.tar.gz
🌟7.安装
cd /soft/redis-6.2.6
make
make PREFIX=/usr/local/redis install
🌟8.创建主从文件夹
mkdir -p /soft/redis/redis-cluster/8001 /soft/redis/redis-cluster/8002 /soft/redis/redis-cluster/8003 /soft/redis/redis-cluster/8004 /soft/redis/redis-cluster/8005
🌟9.将默认配置复制到8001
cp /soft/redis-6.2.6/redis.conf /soft/redis/redis-cluster/8001
🌟10.修改配置参数
port 8001
daemonize yes
pidfile "/var/run/redis_8001.pid"
#指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据
dir /soft/redis/redis-cluster/8001/
#启动集群模式
cluster-enabled yes
#集群节点信息文件,这里800x最好和port对应上
cluster-config-file nodes-8001.conf
# 节点离线的超时时间
cluster-node-timeout 5000
#去掉bind绑定访问ip信息
#bind 127.0.0.1
#关闭保护模式
protected-mode no
#启动AOF文件
appendonly yes
#如果要设置密码需要增加如下配置:
#设置redis访问密码
requirepass redis-pw
#设置集群节点间访问密码,跟上面一致
masterauth redis-pw
🌟11.将8001的配置文件复制到8002(8003、8004、8005同理)
cp /soft/redis/redis-cluster/8001/redis.conf /soft/redis/redis-cluster/8002
🌟12.批量修改8002配置文件(8003、8004、8005同理)
cd /soft/redis/redis-cluster/8002/
vim redis.conf
:%s/8001/8002/g
🌟13.启动redis服务
/soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8001/redis.conf
/soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8002/redis.conf
/soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8003/redis.conf
/soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8004/redis.conf
/soft/redis-6.2.6/src/redis-server /soft/redis/redis-cluster/8005/redis.conf
redis可多进程启动
🌟14.其他服务器均按照上述步骤进行安装、配置、启动服务
🌟15.集群配置开启:
集群的配置开启有两种方式:
✨15-1.自动分配主从关系(较简单):
/soft/redis-6.2.6/src/redis-cli -a redis-pw --cluster create --cluster-replicas 5 **.**.**.33:8001 **.**.**.33:8002 **.**.**.33:8003 **.**.**.33:8004 **.**.**.33:8005 **.**.**.34:8001 **.**.**.34:8002 **.**.**.34:8003 **.**.**.34:8004 **.**.**.34:8005 **.**.**.36:8001 **.**.**.36:8002 **.**.**.36:8003 **.**.**.36:8004 **.**.**.36:8005 **.**.**.37:8001 **.**.**.37:8002 **.**.**.37:8003 **.**.**.37:8004 **.**.**.37:8005 **.**.**.38:8001 **.**.**.38:8002 **.**.**.38:8003 **.**.**.38:8004 **.**.**.38:8005 **.**.**.39:8001 **.**.**.39:8002 **.**.**.39:8003 **.**.**.39:8004 **.**.**.39:8005
-a :密码
--cluster-replicas 1:表示1个master下挂1个slave; --cluster-replicas 2:表示1个master下挂2个slave
这种模式下,主从关系为自动分配
不能充分发挥多台服务器高可用的性能
✨15-2.手动分配主从关系
创建5个主分支
/soft/redis-6.2.6/src/redis-cli -a redis-pw --cluster create **.**.**.33:8001 **.**.**.34:8001 **.**.**.36:8001 **.**.**.37:8001 **.**.**.38:8001 --cluster-replicas 0
手动将每个丛分支加到制定的主分支下
/soft/redis-6.2.6/src/redis-cli -a redis-pw --cluster add-node **.**.**.33:8002 **.**.**.33:8001 --cluster-slave --cluster-master-id 0f22951a5acfab105eba1a8c52296fa5b256cbb4
add-node:丛分支
--cluster-master-id:对应主分支的master-id
🌟16.验证集群
连接集群
/soft/redis-6.2.6/src/redis-cli -a redis-pw -c -h **.**.**.33 -p 8001
查看集群信息
cluster info
cluster_slots_ok:槽位
cluster_size:数量
查看集群节点信息
cluster nodes
master即为主节点
slave即为丛节点,后面接的是主节点master-id
🌟17.关闭集群
将所有服务下的所有redis进程关闭
- 可以通过shutdown
/soft/redis-6.2.6/src/redis-cli -a redis-pw -c -h **.**.**.33 -p 8001 shutdown
- 可以直接杀掉相关进程
ps -ef | grep redis
pkill -9 redis
🌟18.重新配置集群
关闭所有集群后,删除各文件夹下的文件(redis.conf除外)
按照集群启动步骤重新启动即可
🌟19.集群测试
可以针对性停止相关节点进程
或者直接重启某些服务器
通过集群节点命令,查看主从是否自动进行切换
🌟20.集群性能测试
/soft/redis-6.2.6/src/redis-benchmark -a redis-pw -h **.**.**.33 -p 8001 -c 100 -n 100000 --cluster -q
结束