大数据非标redis水平扩容

67 阅读23分钟

# 一、背景

# 现有集群(物理机)
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



二、准备

  1. redis规划

  2. 最终是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组件

  1. 新资源初始化
# 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} 路径下。

  1. 创建redis service文件

使用如下补充“<redis-server@.service> 文件”,文件内容直接使用模板中内容

创建文件: /etc/systemd/system/redis-<server@.service>

  1. 执行重载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集群

  1. 启动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
  1. 检查集群状态

# 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. ## 监控对接

待补充

  1. 完成




六、监控对接

操作参考 刷新云上Redis监控操作手册

更新云上redis表格 云上Redis清单




七、相关补充信息

  1. 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