# 一、背景
# 现有集群(物理机)
172.16.226.51 48C/1024G/5T, 2ghlmvl_ST
# 一共8分片,4主+4从
172.16.226.51:7000 64G
172.16.226.51:7001 64G
172.16.226.51:7002 64G
172.16.226.51:7003 64G
172.16.226.51:7004 64G
172.16.226.51:7005 64G
172.16.226.51:7006 64G
172.16.226.51:7007 64G
# 新资源
172.16.226.31 80C/756G/378G 7011 7012
172.16.226.40 80C/756G/378G 7013 7014
172.16.226.52 48C/1024G/5T 7015 7016
172.16.226.53 48C/1024G/5T 7017 7018
# 对标的redis集群, maxmemory=192gb, 主机都是756G,每个主机上部署两个redis服务。
# 4主4从
172.25.203.84:7072 80C/756G, 250G
172.25.203.84:7071
172.25.203.94:7072
172.25.203.64:7071
172.25.203.95:7072
172.25.203.94:7071
172.25.203.95:7071
172.25.203.78:7072
172.25.203.78:7071
172.25.203.64:7072
# 对标集群的监控
https://infra-grafana.hwwt2.com/d/dba_redis_dashboard/techops-redis-paas?orgId=1&var-datasource=Yumc-4&var-opsteam=All&var-cluster=redis-cluster-AI-recommendation&from=now-24h&to=now&var-service_name=All
最终调整后
# 5主5从
172.16.226.51:7000 250G
172.16.226.51:7007 250G
172.16.226.31:7011 250G
172.16.226.31:7012 250G
172.16.226.40:7013 250G
172.16.226.40:7014 250G
172.16.226.52:7015 250G
172.16.226.52:7016 250G
172.16.226.53:7017 250G
172.16.226.53:7018 250G
二、准备
-
redis规划
-
最终是5主5从的cluster
三、对标的redis集群
# 对标的redis集群, maxmemory=192gb, 主机都是756G,每个主机上部署两个redis服务。
# 4主4从
172.25.203.84:7072 80C/756G, 250G
172.25.203.84:7071
172.25.203.94:7072
172.25.203.64:7071
172.25.203.95:7072
172.25.203.94:7071
172.25.203.95:7071
172.25.203.78:7072
172.25.203.78:7071
172.25.203.64:7072
# 对标集群的监控
https://infra-grafana.hwwt2.com/d/dba_redis_dashboard/techops-redis-paas?orgId=1&var-datasource=Yumc-4&var-opsteam=All&var-cluster=redis-cluster-AI-recommendation&from=now-24h&to=now&var-service_name=All
问题点:
对标集群中,5主5从,有几个分片的maxmemory 配置的是192G,其他是250G
四、部署redis组件
- 新资源初始化
# OS初始化
# 创建/etc/sysctl.d/redis-sysctl.conf文件,添加如下行
vi /etc/sysctl.d/redis-sysctl.conf
net.ipv4.tcp_max_syn_backlog = 65535
net.core.somaxconn = 65535
net.ipv4.tcp_max_tw_buckets = 262144
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_time = 120
vm.overcommit_memory = 1
vm.swappiness = 1
fs.file-max = 1024000
# /etc/rc.local修改
vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
2. 新资源上部署redis服务
# 安装redis
yum install -y http://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/7/remi/x86_64/redis-5.0.14-1.el7.remi.x86_64.rpm http://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/7/remi/x86_64/redis-trib-5.0.14-1.el7.remi.noarch.rpm
#
# 创建路径
mkdir -p /data/redis/data/{7000,7001,7002,7003,7004,7005,7006,7007} # 共8个
mkdir -p /data/redis/conf/{7000,7001,7002,7003,7004,7005,7006,7007} # 共8个
# 172.16.226.31:7011 250G
# 172.16.226.31:7012 250G
mkdir -p /data/redis/data/{7011,7012}
mkdir -p /data/redis/conf/{7011,7012}
# 172.16.226.40:7013 250G
# 172.16.226.40:7014 250G
mkdir -p /data/redis/data/{7013,7014}
mkdir -p /data/redis/conf/{7013,7014}
# 172.16.226.52:7015 250G
# 172.16.226.52:7016 250G
mkdir -p /data/redis/data/{7015,7016}
mkdir -p /data/redis/conf/{7015,7016}
# 172.16.226.53:7017 250G
# 172.16.226.53:7018 250G
mkdir -p /data/redis/data/{7017,7018}
mkdir -p /data/redis/conf/{7017,7018}
3. 调整redis配置
使用如下补充“redis.conf 配置模板”,放到对应的/data/redis/conf/{xxxx,yyyy} 路径下。
- 创建redis service文件
使用如下补充“<redis-server@.service> 文件”,文件内容直接使用模板中内容
创建文件: /etc/systemd/system/redis-<server@.service>
- 执行重载systemd
systemctl daemon-reload
6. 设置redis开机自启
# 使用如下命令启动redis服务,并开启自动启动
systemctl enable --now redis-server@7011
systemctl enable --now redis-server@7012
systemctl enable --now redis-server@7013
systemctl enable --now redis-server@7014
systemctl enable --now redis-server@7015
systemctl enable --now redis-server@7016
systemctl enable --now redis-server@7017
systemctl enable --now redis-server@7018
五、加入现有redis集群
-
启动redis服务
# 启动redis
systemctl start redis-server@7011
systemctl start redis-server@7012
systemctl start redis-server@7013
systemctl start redis-server@7014
systemctl start redis-server@7015
systemctl start redis-server@7016
systemctl start redis-server@7017
systemctl start redis-server@7018
2. ## 2个节点2个节点加入集群(槽位先不平衡)
1. 将**主节点**加入到集群
<!---->
# 7011 加入集群
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.31:7011 172.16.226.51:7000
# 7012 加入集群
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.31:7012 172.16.226.51:7000
# 7015 加入集群
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.52:7015 172.16.226.51:7000
# 7016 加入集群
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.52:7016 172.16.226.51:7000
# 7013 加入集群
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.40:7013 172.16.226.51:7000
# 7014 加入集群
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.40:7014 172.16.226.51:7000
# 使用节点ID,随机建一个槽位迁移到7011
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST \
--cluster reshard 172.16.226.51:7000 \
--cluster-from a58683e7eb5d68b14ae01543ca4c7e72b045829f \
--cluster-to 0081980bd6af3f2c3d19b7f4ebe79a8de56142be \
--cluster-slots 1 \
--cluster-yes
# 7012,随机建一个槽位迁移到7012
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST \
--cluster reshard 172.16.226.51:7000 \
--cluster-from a58683e7eb5d68b14ae01543ca4c7e72b045829f \
--cluster-to cf6cdf7dae3ebbd12d977bcacc950795e9a1d1d3 \
--cluster-slots 1 \
--cluster-yes
# 7015,随机建一个槽位迁移到7015
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST \
--cluster reshard 172.16.226.51:7000 \
--cluster-from a58683e7eb5d68b14ae01543ca4c7e72b045829f \
--cluster-to f2a8d35e18de993107434c88a0a5bff239c804bb \
--cluster-slots 1 \
--cluster-yes
# 7016,随机建一个槽位迁移到7016
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST \
--cluster reshard 172.16.226.51:7000 \
--cluster-from a58683e7eb5d68b14ae01543ca4c7e72b045829f \
--cluster-to 08b539ed147f5c54cbe21c5f53a0d17201d66455 \
--cluster-slots 1 \
--cluster-yes
2. 将从节点设置为新节点的从节点
```
# 加入新从节点7013
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.40:7013 172.16.226.51:7000
# 新从加入到新主 7013加入到7011
redis-cli -h 172.16.226.40 -p 7013 -a 2ghlmvl_ST cluster replicate 0081980bd6af3f2c3d19b7f4ebe79a8de56142be
# 172.16.226.40 新从节点7014 done
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.40:7014 172.16.226.51:7000
# 新从加入到新主 7014加入到7012 done
redis-cli -h 172.16.226.40 -p 7014 -a 2ghlmvl_ST cluster replicate cf6cdf7dae3ebbd12d977bcacc950795e9a1d1d3
# 172.16.226.53 新从节点7017 done
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.53:7017 172.16.226.51:7000
# 新从加入到新主 7017加入到7015 done
redis-cli -h 172.16.226.53 -p 7017 -a 2ghlmvl_ST cluster replicate f2a8d35e18de993107434c88a0a5bff239c804bb
# 172.16.226.53 新从节点7018 done
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster add-node 172.16.226.53:7018 172.16.226.51:7000
# 新从加入到新主 7018加入到7016 done
redis-cli -h 172.16.226.53 -p 7018 -a 2ghlmvl_ST cluster replicate 08b539ed147f5c54cbe21c5f53a0d17201d66455
```
3. 验证集群状态
<!---->
[root@KSSYYVI01352 temp]# redis-cli -h 172.16.226.31 -p 7011 -a 2ghlmvl_ST cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
62cd21d8fe28463210513c1dd11e3607b39c29fb 172.16.226.40:7013@17013 slave 0081980bd6af3f2c3d19b7f4ebe79a8de56142be 0 1744879693000 16 connected
cf9729446f9f06222ba303a72546081a9e46afdf 172.16.226.51:7004@17004 slave d84e35ea6f1cce6f860c934969c7643f7697d5d1 0 1744879692000 2 connected
5b8f114e0baafb8ff043c5e1791dbb16b1e485b7 172.16.226.53:7018@17018 slave 08b539ed147f5c54cbe21c5f53a0d17201d66455 0 1744879694000 19 connected
c24975ebfe438a450f2093258f8189186d5b8e65 172.16.226.40:7014@17014 slave cf6cdf7dae3ebbd12d977bcacc950795e9a1d1d3 0 1744879692519 17 connected
ed42721b9ad3962fd0b7e73620d86ab724cc4a34 172.16.226.51:7007@17007 slave 06ca80f1ea580daaa90607d1f91aa7adc67445ef 0 1744879694000 1 connected
08b539ed147f5c54cbe21c5f53a0d17201d66455 172.16.226.52:7016@17016 master - 0 1744879694822 19 connected 8195
41a580570dbc6721e7ef22883f8c03a6d04cbf54 172.16.226.51:7005@17005 slave a58683e7eb5d68b14ae01543ca4c7e72b045829f 0 1744879694000 3 connected
0081980bd6af3f2c3d19b7f4ebe79a8de56142be 172.16.226.31:7011@17011 myself,master - 0 1744879692000 16 connected 8192
ecd1ceced7087e46e6bea71d356c596935060bd7 172.16.226.53:7017@17017 slave f2a8d35e18de993107434c88a0a5bff239c804bb 0 1744879696000 18 connected
7c82ecc16103a6362b9b7f73e43967cbcd1060f9 172.16.226.51:7006@17006 slave 1e7913ee4da231a760893efd25bc241c8499d245 0 1744879690817 4 connected
06ca80f1ea580daaa90607d1f91aa7adc67445ef 172.16.226.51:7000@17000 master - 0 1744879693000 1 connected 0-4095
cf6cdf7dae3ebbd12d977bcacc950795e9a1d1d3 172.16.226.31:7012@17012 master - 0 1744879693821 17 connected 8193
f2a8d35e18de993107434c88a0a5bff239c804bb 172.16.226.52:7015@17015 master - 0 1744879693000 18 connected 8194
a58683e7eb5d68b14ae01543ca4c7e72b045829f 172.16.226.51:7002@17002 master - 0 1744879695823 3 connected 8196-12287
1e7913ee4da231a760893efd25bc241c8499d245 172.16.226.51:7003@17003 master - 0 1744879694321 4 connected 12288-16383
d84e35ea6f1cce6f860c934969c7643f7697d5d1 172.16.226.51:7001@17001 master - 0 1744879693520 2 connected 4096-8191
4. 重复下一对节点
3. ## 约开发平衡槽位
# cluster nodes
[root@KSSYYVI01352 temp]# redis-cli -h 172.16.226.31 -p 7011 -a 2ghlmvl_ST cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
62cd21d8fe28463210513c1dd11e3607b39c29fb 172.16.226.40:7013@17013 slave 0081980bd6af3f2c3d19b7f4ebe79a8de56142be 0 1744879693000 16 connected
cf9729446f9f06222ba303a72546081a9e46afdf 172.16.226.51:7004@17004 slave d84e35ea6f1cce6f860c934969c7643f7697d5d1 0 1744879692000 2 connected
5b8f114e0baafb8ff043c5e1791dbb16b1e485b7 172.16.226.53:7018@17018 slave 08b539ed147f5c54cbe21c5f53a0d17201d66455 0 1744879694000 19 connected
c24975ebfe438a450f2093258f8189186d5b8e65 172.16.226.40:7014@17014 slave cf6cdf7dae3ebbd12d977bcacc950795e9a1d1d3 0 1744879692519 17 connected
ed42721b9ad3962fd0b7e73620d86ab724cc4a34 172.16.226.51:7007@17007 slave 06ca80f1ea580daaa90607d1f91aa7adc67445ef 0 1744879694000 1 connected
08b539ed147f5c54cbe21c5f53a0d17201d66455 172.16.226.52:7016@17016 master - 0 1744879694822 19 connected 8195
41a580570dbc6721e7ef22883f8c03a6d04cbf54 172.16.226.51:7005@17005 slave a58683e7eb5d68b14ae01543ca4c7e72b045829f 0 1744879694000 3 connected
0081980bd6af3f2c3d19b7f4ebe79a8de56142be 172.16.226.31:7011@17011 myself,master - 0 1744879692000 16 connected 8192
ecd1ceced7087e46e6bea71d356c596935060bd7 172.16.226.53:7017@17017 slave f2a8d35e18de993107434c88a0a5bff239c804bb 0 1744879696000 18 connected
7c82ecc16103a6362b9b7f73e43967cbcd1060f9 172.16.226.51:7006@17006 slave 1e7913ee4da231a760893efd25bc241c8499d245 0 1744879690817 4 connected
06ca80f1ea580daaa90607d1f91aa7adc67445ef 172.16.226.51:7000@17000 master - 0 1744879693000 1 connected 0-4095
cf6cdf7dae3ebbd12d977bcacc950795e9a1d1d3 172.16.226.31:7012@17012 master - 0 1744879693821 17 connected 8193
f2a8d35e18de993107434c88a0a5bff239c804bb 172.16.226.52:7015@17015 master - 0 1744879693000 18 connected 8194
a58683e7eb5d68b14ae01543ca4c7e72b045829f 172.16.226.51:7002@17002 master - 0 1744879695823 3 connected 8196-12287
1e7913ee4da231a760893efd25bc241c8499d245 172.16.226.51:7003@17003 master - 0 1744879694321 4 connected 12288-16383
d84e35ea6f1cce6f860c934969c7643f7697d5d1 172.16.226.51:7001@17001 master - 0 1744879693520 2 connected 4096-8191
#
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster info
redis-cli --cluster info 172.16.226.51:7000 -a 2ghlmvl_ST
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster nodes
4. ## 第一次平衡槽位
# 自动平衡槽位
redis-cli --cluster rebalance 172.16.226.51:7000 -a 2ghlmvl_ST --cluster-use-empty-masters
5. ## 开发修改连接redis的IP和端口(最终架构)
# 最终的redis集群架构
172.16.226.51:7000
172.16.226.51:7007
172.16.226.31:7011
172.16.226.31:7012
172.16.226.40:7013
172.16.226.40:7014
172.16.226.52:7015
172.16.226.52:7016
172.16.226.53:7017
172.16.226.53:7018
6. ## 第二次平衡槽位7001-7006分片缩容下线
redis-cli --cluster info 172.16.226.51:7000 -a 2ghlmvl_ST
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster nodes
# ###
# ### 7001 master d84e35ea6f1cce6f860c934969c7643f7697d5d1, 7004 slave d84e35ea6f1cce6f860c934969c7643f7697d5d1
# ###
# 查看槽位情况,找到对应的主从节点ID
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster nodes
# 自动迁移槽位,使用 --cluster reshard, 将主shard上的槽位迁移到其他master节点上
# 7001 master的槽位自动迁移出去
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster reshard 172.16.226.51:7003 --cluster-from d84e35ea6f1cce6f860c934969c7643f7697d5d1 --cluster-to auto --cluster-slots 4096 --cluster-yes
# 将7001 上的slots迁移到 7000 (06ca80f1ea580daaa90607d1f91aa7adc67445ef)上
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster reshard 172.16.226.51:7003 --cluster-from d84e35ea6f1cce6f860c934969c7643f7697d5d1 --cluster-to 06ca80f1ea580daaa90607d1f91aa7adc67445ef --cluster-slots 2048
# 删除从节点, 7004 (done)
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster del-node <slave-node-id>
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster del-node cf9729446f9f06222ba303a72546081a9e46afdf
# redis-cli --cluster del-node 172.16.226.51:7000 cf9729446f9f06222ba303a72546081a9e46afdf -a 2ghlmvl_ST --cluster-yes
# 删除主节点, 7001 (done)
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster del-node <master-node-id>
redis-cli --cluster del-node 172.16.226.51:7000 d84e35ea6f1cce6f860c934969c7643f7697d5d1 -a 2ghlmvl_ST --cluster-yes
# ###
# ### 7002 master, 7005 slave
# ###
# 查看槽位情况,找到对应的主从节点ID
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster nodes
# 自动迁移槽位,使用 --cluster reshard, 将主shard上的槽位迁移到其他master节点上
# 7002 master的槽位自动迁移出去
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster reshard 172.16.226.51:7003 --cluster-from a58683e7eb5d68b14ae01543ca4c7e72b045829f --cluster-to auto --cluster-slots 4096 --cluster-yes
# 将7002上的slots迁移到f2a8d35e18de993107434c88a0a5bff239c804bb (7015)上
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster reshard 172.16.226.51:7003 --cluster-from a58683e7eb5d68b14ae01543ca4c7e72b045829f --cluster-to f2a8d35e18de993107434c88a0a5bff239c804bb --cluster-slots 2048
# 7002 master, 7005 slave
# 删除从节点, 7005 (done)
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster del-node <slave-node-id>
redis-cli --cluster del-node 172.16.226.51:7000 41a580570dbc6721e7ef22883f8c03a6d04cbf54 -a 2ghlmvl_ST --cluster-yes
# 删除主节点, 7002 (done)
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster del-node <master-node-id>
redis-cli --cluster del-node 172.16.226.51:7000 a58683e7eb5d68b14ae01543ca4c7e72b045829f -a 2ghlmvl_ST --cluster-yes
# ###
# ### 7003 master 1e7913ee4da231a760893efd25bc241c8499d245, 7006 slave 7c82ecc16103a6362b9b7f73e43967cbcd1060f9
# ###
# 查看槽位情况,找到对应的主从节点ID
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster nodes
# 自动迁移槽位,使用 --cluster reshard, 将主shard上的槽位迁移到其他master节点上
# 7002 master的槽位自动迁移出去
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster reshard 172.16.226.51:7000 --cluster-from 1e7913ee4da231a760893efd25bc241c8499d245 --cluster-to auto --cluster-slots 4096 --cluster-yes
# 将7003 上的slots迁移到 7016上(08b539ed147f5c54cbe21c5f53a0d17201d66455)
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster reshard 172.16.226.51:7000 --cluster-from 1e7913ee4da231a760893efd25bc241c8499d245 --cluster-to 08b539ed147f5c54cbe21c5f53a0d17201d66455 --cluster-slots 2048
# 删除从节点, 7006 (done)
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster del-node <slave-node-id>
redis-cli --cluster del-node 172.16.226.51:7000 7c82ecc16103a6362b9b7f73e43967cbcd1060f9 -a 2ghlmvl_ST --cluster-yes
# 删除主节点, 7003
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST --cluster del-node <master-node-id>
redis-cli --cluster del-node 172.16.226.51:7000 1e7913ee4da231a760893efd25bc241c8499d245 -a 2ghlmvl_ST --cluster-yes
# ### 最后执行一次平衡
# 重新平衡槽位
redis-cli --cluster rebalance 172.16.226.51:7000 -a 2ghlmvl_ST --cluster-use-empty-masters
-
检查集群状态
# check
redis-cli -a 2ghlmvl_ST --cluster check 172.16.226.51:7000
redis-cli -a 2ghlmvl_ST --cluster check 172.16.226.51:7007
# 验证集群状态
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster info
redis-cli --cluster info 172.16.226.51:7000 -a 2ghlmvl_ST
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster nodes
8. ## 检查每个节点的 maxmemory
# redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST cluster nodes
#
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST config get maxmemory
9. ## 监控对接
待补充
-
完成
六、监控对接
操作参考 刷新云上Redis监控操作手册
更新云上redis表格 云上Redis清单
七、相关补充信息
-
redis.conf 配置模板
按需替换下面标黄部分
### Server ###
pidfile /data/redis/data/{{ port }}/redis.pid
port {{ port }}
bind 0.0.0.0
logfile "/data/redis/data/{{ port }}/redis.log"
dbfilename dump.rdb
dir /data/redis/data/{{ port }}
appendfilename "redis.aof"
daemonize yes
loglevel notice
databases 16
activerehashing yes
hz 10
### Auth ###
requirepass "some_password"
masterauth "some_password"
### Memory ###
maxmemory 1gb
maxmemory-policy volatile-lru
maxmemory-samples 5
### Persistence ###
save " "
stop-writes-on-bgsave-error no
rdbcompression yes
rdbchecksum yes
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 1gb
aof-load-truncated yes
### Clients ###
maxclients 10000
tcp-backlog 65535
timeout 0
tcp-keepalive 60
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
### Replication ###
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-ping-slave-period 10
repl-disable-tcp-nodelay no
repl-backlog-size 128mb
repl-backlog-ttl 3600
slave-priority 100
### Command ###
#rename-command flushall ""
#rename-command flushdb ""
#rename-command shutdown #"xxxshutdown"
#rename-command save "xxxsave"
#rename-command sync "xxxsync"
#rename-command bgsave "xxxbgsave"
#rename-command bgrewriteaof "xxxbgrewriteaof"
#rename-command slaveof "xxxslaveof"
#rename-command config "xxxconfig"
#rename-command keys xxxkeys
### Slowlog ###
slowlog-log-slower-than 5000
slowlog-max-len 1000
### Redis 4.0 New ###
lazyfree-lazy-eviction no
lazyfree-lazy-expire yes
lazyfree-lazy-server-del yes
slave-lazy-flush yes
cluster-enabled yes
2. ## <redis-server@.service> 文件
[Unit]
Description=Redis Database Service
Wants=network.target
After=network.target
[Service]
Type=forking
PIDFile=/data/redis/data/%i/redis.pid
ExecStart=/usr/bin/redis-server /data/redis/conf/%i/redis.conf
User=root
LimitNOFILE = 65535
[Install]
WantedBy=multi-user.target
3. ## redis启停命令
# 启动redis
systemctl start redis-server@7000
systemctl start redis-server@7001
systemctl start redis-server@7002
systemctl start redis-server@7003
systemctl start redis-server@7004
systemctl start redis-server@7005
systemctl start redis-server@7006
systemctl start redis-server@7007
#
systemctl status redis-server@7000
systemctl status redis-server@7001
systemctl status redis-server@7002
systemctl status redis-server@7003
systemctl status redis-server@7004
systemctl status redis-server@7005
systemctl status redis-server@7006
systemctl status redis-server@7007
#
systemctl stop redis-server@7000
systemctl stop redis-server@7001
systemctl stop redis-server@7002
systemctl stop redis-server@7003
systemctl stop redis-server@7004
systemctl stop redis-server@7005
systemctl stop redis-server@7006
systemctl stop redis-server@7007
#
systemctl restart redis-server@7000
systemctl restart redis-server@7001
systemctl restart redis-server@7002
systemctl restart redis-server@7003
systemctl restart redis-server@7004
systemctl restart redis-server@7005
systemctl restart redis-server@7006
systemctl restart redis-server@7007
# ###
# 使用redis-cli 连接redis
redis-cli -a 2ghlmvl_ST --cluster call 172.16.226.51:7000 cluster slots
# 连接redis
redis-cli -h 172.16.226.51 -p 7000 -c
# 连接redis
redis-cli -h 172.16.226.51 -p 7000 -a 2ghlmvl_ST -c