Redis高可用三主三从集群部署(三种方式部署/18个节点的Redis Cluster模式)
时间:2024-05-04 12:05:48 来源:网络cs 作者:言安琪 栏目:国内电商 阅读:
使用CentOS7进行操作,Linux系统,配置为2个处理器核心,4个线程,8GB内存和100GB磁盘存储,所有计算机都首先进行YUM更新,修改每台计算机的固定IP地址,然后安装宝塔面板,在宝塔面板的软件商店中安装Redis,并开放端口6379(Redis默认端口)。
IP地址布局:
主节点1(Master1):192.168.80.101
主节点2(Master2):192.168.80.102
主节点3(Master3):192.168.80.103
从节点1(Slave1):192.168.80.111
从节点2(Slave2):192.168.80.112
从节点3(Slave3):192.168.80.113
配置
在Redis 6.0中,你可以使用server_cpulist、bio_cpulist、aof_rewrite_cpulist和bgsave_cpulist等配置项来指定Redis的不同进程或线程应该绑定到哪些CPU内核上运行。你需要根据你的服务器硬件和性能需求来设置这些参数。例如,如果你的服务器有8个CPU内核,并且你希望Redis进程和I/O线程在不同的内核上运行,你可以像下面示例那样配置它们。
server_cpulist:RedisServer和IO线程绑定到CPU内核bio_cpulist:后台子线程绑定到CPU内核aof_rewrite_cpulist:后台AOF rewrite进程绑定到CPU内核bgsave_cpulist:后台RDB进程绑定到CPU内核这可以帮助你优化Redis的性能,特别是当你有多个CPU内核,并且希望将不同类型的操作分散到不同的内核上时。以下是一个redis.conf配置文件的示例,展示了如何设置这些参数:
# Redis配置文件示例 # 绑定到所有网络接口 bind 0.0.0.0# 保护模式设置为no,这样Redis就可以接受来自任何主机的连接 protected-mode no# Redis 集群节点监听的端口 port PORT# TCP backlog的数量,默认是1500,在高并发环境下你可能需要增加这个值。同时需要编辑sudo nano /etc/sysctl.conf文件,添加或者编辑net.core.somaxconn = 1500,在 nano 编辑器中,按 Ctrl + O(这是“O”字母,不是数字零)。这将会提示你保存文件。如果文件是第一次创建或之前没有被修改过,它会询问你文件名,此时你可以直接按 Enter 键确认使用当前的文件名。如果文件已经被修改过,它会直接保存更改。保存文件后,按 Ctrl + X。这将会退出 nano 编辑器并返回到终端。否则会出现提示 TCP 的 backlog 设置(1500)不能强制执行,因为 /proc/sys/net/core/somaxconn 的值被设置为更低的 128。/proc/sys/net/core/somaxconn 是一个内核参数,它定义了系统中每一个端口上排队的最大 TCP 连接数。sudo sysctl -ptcp-backlog 1500# 开启集群模式cluster-enabled yes# 超时时间,超时则认为master宕机,随后主备切换。单位是毫秒 cluster-node-timeout 5000# 集群配置文件的路径,Redis 集群节点会自动创建和更新这个文件 cluster-config-file nodes-PORT.conf#集群各节点IP地址,记得修改为你的ip地址cluster-announce-ip REDIS_CLUSTER_IP#集群节点映射端口 cluster-announce-port PORT#集群总线端口 cluster-announce-bus-port 1PORT # TCP 后台线程和I/O线程:如果启用了 TCP 后台线程(io-threads-do-reads)或 I/O 线程(io-threads),确保为这些线程配置了正确的 CPU 内核列表(server_cpulist、bio_cpulist 等)。io-threads-do-reads yesio-threads 4# Redis Server绑定到的CPU内核列表,这里绑定到CPU 0和1 server_cpulist 0-1 # 后台I/O线程绑定到的CPU内核列表,这里绑定到CPU 2和3 bio_cpulist 2-3# AOF重写进程绑定到的CPU内核列表,这里绑定到CPU 4 aof_rewrite_cpulist 4 # RDB持久化进程绑定到的CPU内核列表,这里绑定到CPU 5 bgsave_cpulist 5# 启用AOF持久化 appendonly yes# AOF文件名称 appendfilename "appendonly.aof"# appendonly 文件同步策略,always 表示每个写命令都立即同步,everysec 表示每秒同步一次,no 表示由操作系统决定何时同步 appendfsync everysec# 密码设置 requirepass admin# Redis集群启用了密码验证,那么除了在每个节点的配置文件中设置requirepass之外,还需要设置masterauthmasterauth admin# 禁用 RDB 快照持久化,因为集群模式下有节点复制功能 save ""# 禁用 AOF 重写auto-aof-rewrite-percentage 0auto-aof-rewrite-min-size 0
这些参数的具体使用可能会因Redis版本的不同而有所变化,所以请确保查阅你正在使用的Redis版本的官方文档以获取最准确的信息。
在配置完成后,你需要重启Redis服务来使新的配置生效。
验证
验证是否启动成功
ps -ef | grep redis
查看版本
redis-cli --version
redis5.0以上集群创建方式改为了C编写的redis-cli创建,创建集群,–cluster-replicas 1指定从库数量1,创建顺序三主-三从。即主-主-主-从-从-从。如果redis设置了密码,则创建集群时需要添加密码信息 -a 密码。在任意节点上执行以下命令:
redis-cli -a admin --cluster create 192.168.80.101:6371 192.168.80.102:6372 192.168.80.103:6373 192.168.80.111:6381 192.168.80.112:6382 192.168.80.113:6383 --cluster-replicas 1
确认集群配置信息,确认无误则输入 yes 并按回车。
[root@master1 redis]# redis-cli -a admin --cluster create 192.168.80.101:6371 192.168.80.102:6372 192.168.80.103:6373 192.168.80.111:6381 192.168.80.112:6382 192.168.80.113:6383 --cluster-replicas 1Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.>>> Performing hash slots allocation on 6 nodes...Master[0] -> Slots 0 - 5460Master[1] -> Slots 5461 - 10922Master[2] -> Slots 10923 - 16383Adding replica 192.168.80.112:6382 to 192.168.80.101:6371Adding replica 192.168.80.113:6383 to 192.168.80.102:6372Adding replica 192.168.80.111:6381 to 192.168.80.103:6373M: e6e0dd6a4e109660df421b4bef93f4f72991619c 192.168.80.101:6371 slots:[0-5460] (5461 slots) masterM: 5520b535a6e9adc9424c6bd35ccff689a7f9c18a 192.168.80.102:6372 slots:[5461-10922] (5462 slots) masterM: ea32e9db2b4a9b16e509ecb6a2235abb7a13cd0c 192.168.80.103:6373 slots:[10923-16383] (5461 slots) masterS: bb78f4547103f6e1bed1482a5ee8204c4c257f81 192.168.80.111:6381 replicates ea32e9db2b4a9b16e509ecb6a2235abb7a13cd0cS: 975f23baca9ccc541b16cab916d66efa7d1b6fc2 192.168.80.112:6382 replicates e6e0dd6a4e109660df421b4bef93f4f72991619cS: 559528309e92929364623c58208e268c73933d9c 192.168.80.113:6383 replicates 5520b535a6e9adc9424c6bd35ccff689a7f9c18aCan I set the above configuration? (type 'yes' to accept): yes>>> Nodes configuration updated>>> Assign a different config epoch to each node>>> Sending CLUSTER MEET messages to join the clusterWaiting for the cluster to join
检查集群:
redis-cli -a admin --cluster check 192.168.80.101:6379
查看集群信息:
redis-cli -a admin -h 192.168.80.101 -p 6379 -c
-a Redis密码
-c表示集群模式,指定IP和端口
cluster info
查看集群节点列表
cluster nodes
使用docker搭建
在安装好docker之后,直接在不同机器上执行以下命令(节点1):
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:7.2.4 --cluster-enabled yes --appendonly yes --port 6379
这种方式启动少了很多配置,单机可以怎么弄,集群不建议
使用脚本搭建
规划
三台服务器,每台服务器部署6个Redis实例,累计形成一个18个节点的Redis大集群。这意味着服务器的硬件资源不能太小,最少都是8核心8GB以上的配置,太低可能会出问题。
防火墙端口
在配置Redis集群时,需要开放两类端口:
客户端访问端口:这是Redis节点用于与客户端进行交互的端口。在默认情况下,Redis使用6379作为这个端口,但你可以根据需要进行修改。在配置文件中,这个端口通常被设置为port配置项的值。集群总线端口:这是Redis集群节点之间用于通信和数据交换的端口。这个端口通常是客户端访问端口加10000。例如,如果客户端访问端口是6379,那么集群总线端口就是16379。在配置文件中,这个端口没有直接的配置项,但它是基于port配置项的值自动计算的。因此,在配置Redis集群时,你需要确保你的防火墙允许通过这两类端口进行通信。对于每个Redis节点,都需要开放相应的客户端访问端口和集群总线端口。例如,如果你有三个Redis节点,分别使用6379、6380和6381作为客户端访问端口,那么你需要开放的端口就是6379、6380、6381以及对应的集群总线端口16379、16380、16381。
请注意,这些端口只是默认的,你可以根据你的需要进行修改。但是,在修改端口后,你需要确保Redis配置文件中的port配置项和客户端的连接字符串都使用了正确的端口号。
配置脚本
执行编写脚本docker-redis-cluster.sh:
vim docker-redis-cluster.sh
#!/bin/bash # 循环执行6次 for i in $(seq 6) do # 设置端口号 PORT=637$i # 获取当前主机的IP地址 REDIS_CLUSTER_IP=$(hostname -I | awk '{print $1}') # 设置配置文件路径 CONFIG_FILE="/opt/software/rediscluster/conf/redis-$i.conf" # 检查配置文件是否存在,如果存在并且是目录,则删除 if [ -d "$CONFIG_FILE" ]; then echo "配置文件$CONFIG_FILE已经是一个目录,正在删除它..." rm -rf "$CONFIG_FILE" fi # 检查模板文件是否存在 if [ ! -f /opt/software/rediscluster/conf/redis.conf ]; then echo "模板文件/opt/software/rediscluster/conf/redis.conf不存在,请确保它存在并且包含正确的占位符。" exit 1 fi # 通过sed命令替换模板文件中的占位符,生成实际的配置文件 sed "s/PORT/${PORT}/g;s/REDIS_CLUSTER_IP/${REDIS_CLUSTER_IP}/g;" /opt/software/rediscluster/conf/redis.conf > "$CONFIG_FILE" # 使用docker运行Redis容器,并挂载配置文件和数据目录 docker run -d --name redis-node-$i --restart=unless-stopped --net host --privileged=true -v /opt/software/rediscluster/node/redis-node-$i:/data -v "$CONFIG_FILE":/etc/redis/redis.conf redis:7.2.4 redis-server /etc/redis/redis.conf done
redis.conf配置文件
# Redis配置文件示例 # 绑定到所有网络接口 bind 0.0.0.0# 保护模式设置为no,这样Redis就可以接受来自任何主机的连接 protected-mode no# Redis 集群节点监听的端口 port PORT# TCP backlog的数量,默认是1500,在高并发环境下你可能需要增加这个值。同时需要编辑sudo nano /etc/sysctl.conf文件,添加或者编辑net.core.somaxconn = 1500,在 nano 编辑器中,按 Ctrl + O(这是“O”字母,不是数字零)。这将会提示你保存文件。如果文件是第一次创建或之前没有被修改过,它会询问你文件名,此时你可以直接按 Enter 键确认使用当前的文件名。如果文件已经被修改过,它会直接保存更改。保存文件后,按 Ctrl + X。这将会退出 nano 编辑器并返回到终端。否则会出现提示 TCP 的 backlog 设置(1500)不能强制执行,因为 /proc/sys/net/core/somaxconn 的值被设置为更低的 128。/proc/sys/net/core/somaxconn 是一个内核参数,它定义了系统中每一个端口上排队的最大 TCP 连接数。sudo sysctl -ptcp-backlog 1500# 开启集群模式cluster-enabled yes# 超时时间,超时则认为master宕机,随后主备切换。单位是毫秒 cluster-node-timeout 5000# 集群配置文件的路径,Redis 集群节点会自动创建和更新这个文件 cluster-config-file nodes-PORT.conf#集群各节点IP地址,记得修改为你的ip地址cluster-announce-ip REDIS_CLUSTER_IP#集群节点映射端口 cluster-announce-port PORT#集群总线端口 cluster-announce-bus-port 1PORT # TCP 后台线程和I/O线程:如果启用了 TCP 后台线程(io-threads-do-reads)或 I/O 线程(io-threads),确保为这些线程配置了正确的 CPU 内核列表(server_cpulist、bio_cpulist 等)。io-threads-do-reads yesio-threads 4# Redis Server绑定到的CPU内核列表,这里绑定到CPU 0和1 server_cpulist 0-1 # 后台I/O线程绑定到的CPU内核列表,这里绑定到CPU 2和3 bio_cpulist 2-3# AOF重写进程绑定到的CPU内核列表,这里绑定到CPU 4 aof_rewrite_cpulist 4 # RDB持久化进程绑定到的CPU内核列表,这里绑定到CPU 5 bgsave_cpulist 5# 启用AOF持久化 appendonly yes# AOF文件名称 appendfilename "appendonly.aof"# appendonly 文件同步策略,always 表示每个写命令都立即同步,everysec 表示每秒同步一次,no 表示由操作系统决定何时同步 appendfsync everysec# 密码设置 requirepass admin# Redis集群启用了密码验证,那么除了在每个节点的配置文件中设置requirepass之外,还需要设置masterauthmasterauth admin# 禁用 RDB 快照持久化,因为集群模式下有节点复制功能 save ""# 禁用 AOF 重写auto-aof-rewrite-percentage 0auto-aof-rewrite-min-size 0
执行过程
通常情况下内存overcommit(超额提交)未启用,这可能在内存不足的情况下导致后台保存或复制失败。即使在不出现内存不足的情况下,这也可能导致失败。在/etc/sysctl.conf文件中添加vm.overcommit_memory = 1,然后重启系统以启用内存overcommit。
[root@node3 rediscluster]# cat /etc/sysctl.conf# sysctl settings are defined through files in# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.## Vendors settings live in /usr/lib/sysctl.d/.# To override a whole file, create a new file with the same in# /etc/sysctl.d/ and put new settings there. To override# only specific settings, add a file with a lexically later# name in /etc/sysctl.d/ and put new settings there.## For more information, see sysctl.conf(5) and sysctl.d(5).net.core.somaxconn = 1500sysctl vm.overcommit_memory = 1
或者执行以下命令并查看是否更改成功。
sysctl -w vm.overcommit_memory=1sysctl vm.overcommit_memory
然后重启服务器,执行以下命令运行脚本:
sh docker_redis6.sh
docker exec -it redis-node-1 bash
redis-cli -a admin --cluster create 192.168.80.101:6371 192.168.80.101:6372 192.168.80.101:6373 192.168.80.101:6374 192.168.80.101:6375 192.168.80.101:6376 192.168.80.102:6371 192.168.80.102:6372 192.168.80.102:6373 192.168.80.102:6374 192.168.80.102:6375 192.168.80.102:6376 192.168.80.103:6371 192.168.80.103:6372 192.168.80.103:6373 192.168.80.103:6374 192.168.80.103:6375 192.168.80.103:6376 --cluster-replicas 1
redis-cli -p 6371 -a admin
cluster info
cluster nodes
如果需要停止删除所有容器并移除节点信息,请执行以下命令:
docker stop redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5 redis-node-6 && docker rm redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5 redis-node-6 && rm -rf node/
操作日志如下:
[root@node3 rediscluster]# sh docker-redis-cluster.sh 2ddafd3e91c676a4884536b250712b17002027b30bc184b491701a474c0ba9a9c4ff49c66a1824c6089a338bb8acdf86ce339e29e5155b549d1c00965e12b0ed530daa9ff0d0b68176b77617ad72282e518862a3dadda021ca948b7aa13f1e1607effb9132ab8d7899f51ec30ec1a108f130dc103a00a1e4d211b744a960d0472f241530e2951b4c685c3c4e910c461c98d1b23ba0b88aae238b4af1ee44021033ff2eed2ae65a41c409985465e9b5a7c0b90ae9d614dff13cb63e4e715aa447[root@node3 rediscluster]# docker exec -it redis-node-1 bashroot@node3:/data# redis-cli -a admin --cluster create 192.168.80.101:6371 192.168.80.101:6372 192.168.80.101:6373 192.168.80.101:6374 192.168.80.101:6375 192.168.80.101:6376 192.168.80.102:6371 192.168.80.102:6372 192.168.80.102:6373 192.168.80.102:6374 192.168.80.102:6375 192.168.80.102:6376 192.168.80.103:6371 192.168.80.103:6372 192.168.80.103:6373 192.168.80.103:6374 192.168.80.103:6375 192.168.80.103:6376 --cluster-replicas 1Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.>>> Performing hash slots allocation on 18 nodes...Master[0] -> Slots 0 - 1819Master[1] -> Slots 1820 - 3640Master[2] -> Slots 3641 - 5460Master[3] -> Slots 5461 - 7281Master[4] -> Slots 7282 - 9101Master[5] -> Slots 9102 - 10922Master[6] -> Slots 10923 - 12742Master[7] -> Slots 12743 - 14563Master[8] -> Slots 14564 - 16383Adding replica 192.168.80.102:6374 to 192.168.80.101:6371Adding replica 192.168.80.103:6374 to 192.168.80.102:6371Adding replica 192.168.80.101:6375 to 192.168.80.103:6371Adding replica 192.168.80.102:6375 to 192.168.80.101:6372Adding replica 192.168.80.103:6375 to 192.168.80.102:6372Adding replica 192.168.80.101:6376 to 192.168.80.103:6372Adding replica 192.168.80.102:6376 to 192.168.80.101:6373Adding replica 192.168.80.103:6376 to 192.168.80.102:6373Adding replica 192.168.80.101:6374 to 192.168.80.103:6373M: 0c2ce94d99291b55f181867991f9e39aa2690301 192.168.80.101:6371 slots:[0-1819] (1820 slots) masterM: dc610488eb49a1d53b02f246171ca792482600ee 192.168.80.101:6372 slots:[5461-7281] (1821 slots) masterM: fc901fa4cb00cba1b22beae6114f6c45898f1f44 192.168.80.101:6373 slots:[10923-12742] (1820 slots) masterS: 668179a19a8c85c74b8f04456b25e7a844757f82 192.168.80.101:6374 replicates e2179f84bb47afa517b793bf95aa755fe72f3daeS: bda761bbb7bababb19d7a85a99f56782e30c03b6 192.168.80.101:6375 replicates ba00470e7d33e2b677d3dab1fd2d1d95af03fa53S: 9f5aeb9230e3fa7fb86b75a1ab9a07b8801e52c7 192.168.80.101:6376 replicates 2930c5a669a3378f6abad869f03d2f51dda26642M: c37f388dd0a0ff29cfbf9936a671565f77444311 192.168.80.102:6371 slots:[1820-3640] (1821 slots) masterM: 7e711ab35b67994b0ef5a5d12ad63e217a44e644 192.168.80.102:6372 slots:[7282-9101] (1820 slots) masterM: 54f8ca5d4e7f4e40798e17a49f21c915c51f95c2 192.168.80.102:6373 slots:[12743-14563] (1821 slots) masterS: 90452b7335ded535fe3b72ebb1d7e83df3962abd 192.168.80.102:6374 replicates 0c2ce94d99291b55f181867991f9e39aa2690301S: c30f6ed1b91580aea9b89bafe36b4393dffdd549 192.168.80.102:6375 replicates dc610488eb49a1d53b02f246171ca792482600eeS: 9be6338fcd653b7fd632a474c2107f93a1aa6852 192.168.80.102:6376 replicates fc901fa4cb00cba1b22beae6114f6c45898f1f44M: ba00470e7d33e2b677d3dab1fd2d1d95af03fa53 192.168.80.103:6371 slots:[3641-5460] (1820 slots) masterM: 2930c5a669a3378f6abad869f03d2f51dda26642 192.168.80.103:6372 slots:[9102-10922] (1821 slots) masterM: e2179f84bb47afa517b793bf95aa755fe72f3dae 192.168.80.103:6373 slots:[14564-16383] (1820 slots) masterS: 5a8a30fd89c1d00ddf8a5700c523d1fab9663071 192.168.80.103:6374 replicates c37f388dd0a0ff29cfbf9936a671565f77444311S: afbd41e97fef798f6e87d6d2a0e76433570eae6e 192.168.80.103:6375 replicates 7e711ab35b67994b0ef5a5d12ad63e217a44e644S: ddee24135bee2cad01c24a2aa473a50ece55f55b 192.168.80.103:6376 replicates 54f8ca5d4e7f4e40798e17a49f21c915c51f95c2Can I set the above configuration? (type 'yes' to accept): yes>>> Nodes configuration updated>>> Assign a different config epoch to each node>>> Sending CLUSTER MEET messages to join the clusterWaiting for the cluster to join.....>>> Performing Cluster Check (using node 192.168.80.101:6371)M: 0c2ce94d99291b55f181867991f9e39aa2690301 192.168.80.101:6371 slots:[0-1819] (1820 slots) master 1 additional replica(s)M: e2179f84bb47afa517b793bf95aa755fe72f3dae 192.168.80.103:6373 slots:[14564-16383] (1820 slots) master 1 additional replica(s)S: afbd41e97fef798f6e87d6d2a0e76433570eae6e 192.168.80.103:6375 slots: (0 slots) slave replicates 7e711ab35b67994b0ef5a5d12ad63e217a44e644S: bda761bbb7bababb19d7a85a99f56782e30c03b6 192.168.80.101:6375 slots: (0 slots) slave replicates ba00470e7d33e2b677d3dab1fd2d1d95af03fa53S: 668179a19a8c85c74b8f04456b25e7a844757f82 192.168.80.101:6374 slots: (0 slots) slave replicates e2179f84bb47afa517b793bf95aa755fe72f3daeS: 9f5aeb9230e3fa7fb86b75a1ab9a07b8801e52c7 192.168.80.101:6376 slots: (0 slots) slave replicates 2930c5a669a3378f6abad869f03d2f51dda26642M: 2930c5a669a3378f6abad869f03d2f51dda26642 192.168.80.103:6372 slots:[9102-10922] (1821 slots) master 1 additional replica(s)S: 90452b7335ded535fe3b72ebb1d7e83df3962abd 192.168.80.102:6374 slots: (0 slots) slave replicates 0c2ce94d99291b55f181867991f9e39aa2690301M: c37f388dd0a0ff29cfbf9936a671565f77444311 192.168.80.102:6371 slots:[1820-3640] (1821 slots) master 1 additional replica(s)M: ba00470e7d33e2b677d3dab1fd2d1d95af03fa53 192.168.80.103:6371 slots:[3641-5460] (1820 slots) master 1 additional replica(s)M: 7e711ab35b67994b0ef5a5d12ad63e217a44e644 192.168.80.102:6372 slots:[7282-9101] (1820 slots) master 1 additional replica(s)M: dc610488eb49a1d53b02f246171ca792482600ee 192.168.80.101:6372 slots:[5461-7281] (1821 slots) master 1 additional replica(s)S: 9be6338fcd653b7fd632a474c2107f93a1aa6852 192.168.80.102:6376 slots: (0 slots) slave replicates fc901fa4cb00cba1b22beae6114f6c45898f1f44M: fc901fa4cb00cba1b22beae6114f6c45898f1f44 192.168.80.101:6373 slots:[10923-12742] (1820 slots) master 1 additional replica(s)S: c30f6ed1b91580aea9b89bafe36b4393dffdd549 192.168.80.102:6375 slots: (0 slots) slave replicates dc610488eb49a1d53b02f246171ca792482600eeM: 54f8ca5d4e7f4e40798e17a49f21c915c51f95c2 192.168.80.102:6373 slots:[12743-14563] (1821 slots) master 1 additional replica(s)S: 5a8a30fd89c1d00ddf8a5700c523d1fab9663071 192.168.80.103:6374 slots: (0 slots) slave replicates c37f388dd0a0ff29cfbf9936a671565f77444311S: ddee24135bee2cad01c24a2aa473a50ece55f55b 192.168.80.103:6376 slots: (0 slots) slave replicates 54f8ca5d4e7f4e40798e17a49f21c915c51f95c2[OK] All nodes agree about slots configuration.>>> Check for open slots...>>> Check slots coverage...[OK] All 16384 slots covered.root@node3:/data# redis-cli -p 6371 -a adminWarning: Using a password with '-a' or '-u' option on the command line interface may not be safe.127.0.0.1:6371> cluster info cluster_state:okcluster_slots_assigned:16384cluster_slots_ok:16384cluster_slots_pfail:0cluster_slots_fail:0cluster_known_nodes:18cluster_size:9cluster_current_epoch:18cluster_my_epoch:13cluster_stats_messages_ping_sent:134cluster_stats_messages_pong_sent:149cluster_stats_messages_meet_sent:1cluster_stats_messages_sent:284cluster_stats_messages_ping_received:149cluster_stats_messages_pong_received:135cluster_stats_messages_received:284total_cluster_links_buffer_limit_exceeded:0127.0.0.1:6371> cluster nodesbda761bbb7bababb19d7a85a99f56782e30c03b6 192.168.80.101:6375@16375 slave ba00470e7d33e2b677d3dab1fd2d1d95af03fa53 0 1709020740616 13 connected5a8a30fd89c1d00ddf8a5700c523d1fab9663071 192.168.80.103:6374@16374 slave c37f388dd0a0ff29cfbf9936a671565f77444311 0 1709020741524 7 connectede2179f84bb47afa517b793bf95aa755fe72f3dae 192.168.80.103:6373@16373 master - 0 1709020740918 15 connected 14564-16383c30f6ed1b91580aea9b89bafe36b4393dffdd549 192.168.80.102:6375@16375 slave dc610488eb49a1d53b02f246171ca792482600ee 0 1709020741000 2 connected54f8ca5d4e7f4e40798e17a49f21c915c51f95c2 192.168.80.102:6373@16373 master - 0 1709020742000 9 connected 12743-14563ddee24135bee2cad01c24a2aa473a50ece55f55b 192.168.80.103:6376@16376 slave 54f8ca5d4e7f4e40798e17a49f21c915c51f95c2 0 1709020742534 9 connected90452b7335ded535fe3b72ebb1d7e83df3962abd 192.168.80.102:6374@16374 slave 0c2ce94d99291b55f181867991f9e39aa2690301 0 1709020741000 1 connectedba00470e7d33e2b677d3dab1fd2d1d95af03fa53 192.168.80.103:6371@16371 myself,master - 0 1709020740000 13 connected 3641-5460c37f388dd0a0ff29cfbf9936a671565f77444311 192.168.80.102:6371@16371 master - 0 1709020741000 7 connected 1820-3640afbd41e97fef798f6e87d6d2a0e76433570eae6e 192.168.80.103:6375@16375 slave 7e711ab35b67994b0ef5a5d12ad63e217a44e644 0 1709020741423 8 connected0c2ce94d99291b55f181867991f9e39aa2690301 192.168.80.101:6371@16371 master - 0 1709020742535 1 connected 0-18199be6338fcd653b7fd632a474c2107f93a1aa6852 192.168.80.102:6376@16376 slave fc901fa4cb00cba1b22beae6114f6c45898f1f44 0 1709020742635 3 connected9f5aeb9230e3fa7fb86b75a1ab9a07b8801e52c7 192.168.80.101:6376@16376 slave 2930c5a669a3378f6abad869f03d2f51dda26642 0 1709020742535 14 connectedfc901fa4cb00cba1b22beae6114f6c45898f1f44 192.168.80.101:6373@16373 master - 0 1709020740514 3 connected 10923-127422930c5a669a3378f6abad869f03d2f51dda26642 192.168.80.103:6372@16372 master - 0 1709020741000 14 connected 9102-109227e711ab35b67994b0ef5a5d12ad63e217a44e644 192.168.80.102:6372@16372 master - 0 1709020742535 8 connected 7282-9101668179a19a8c85c74b8f04456b25e7a844757f82 192.168.80.101:6374@16374 slave e2179f84bb47afa517b793bf95aa755fe72f3dae 0 1709020742432 15 connecteddc610488eb49a1d53b02f246171ca792482600ee 192.168.80.101:6372@16372 master - 0 1709020741625 2 connected 5461-7281127.0.0.1:6371>
📢文章总结
对本篇文章进行总结:
🔔以上就是今天要讲的内容,阅读结束后,反思和总结所学内容,并尝试应用到现实中,有助于深化理解和应用知识。与朋友或同事分享所读内容,讨论细节并获得反馈,也有助于加深对知识的理解和吸收。
🔔如果您需要转载或者搬运这篇文章的话,非常欢迎您私信我哦~
💂 博客主页: 我是廖志伟👉开源项目:java_wxid🌥 哔哩哔哩:我是廖志伟🎏个人社区:幕后大佬🔖个人微信号:🚀🎉希望各位读者大大多多支持用心写文章的博主,现在时代变了,🚀🎉 信息爆炸,酒香也怕巷子深🔥,博主真的需要大家的帮助才能在这片海洋中继续发光发热🎨,所以,🏃💨赶紧动动你的小手,点波关注❤️,点波赞👍,点波收藏⭐,甚至点波评论✍️,都是对博主最好的支持和鼓励!
SeniorRD
🎉微信号二维码: 📥博主目标
🍋程序开发这条路不能停,停下来容易被淘汰掉,吃不了自律的苦,就要受平庸的罪,持续的能力才能带来持续的自信。我本是一个很普通的程序员,放在人堆里,除了与生俱来的盛世美颜,就剩180的大高个了,就是我这样的一个人,默默写博文也有好多年了。📺有句老话说的好,牛逼之前都是傻逼式的坚持,希望自己可以通过大量的作品、时间的积累、个人魅力、运气、时机,可以打造属于自己的技术影响力。💥内心起伏不定,我时而激动,时而沉思。我希望自己能成为一个综合性人才,具备技术、业务和管理方面的精湛技能。我想成为产品架构路线的总设计师,团队的指挥者,技术团队的中流砥柱,企业战略和资本规划的实战专家。🎉这个目标的实现需要不懈的努力和持续的成长,但我必须努力追求。因为我知道,只有成为这样的人才,我才能在职业生涯中不断前进并为企业的发展带来真正的价值。在这个不断变化的时代,我们必须随时准备好迎接挑战,不断学习和探索新的领域,才能不断地向前推进。我坚信,只要我不断努力,我一定会达到自己的目标。🔔有需要对自己进行综合性评估,进行职业方向规划,我可以让技术大牛帮你模拟面试、针对性的指导、传授面试技巧、简历优化、进行技术问题答疑等服务。
可访问:https://java_wxid.gitee.io/tojson/
阅读本书更多章节>>>>本文链接:https://www.kjpai.cn/guonei/2024-05-04/164705.html,文章来源:网络cs,作者:言安琪,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
上一篇:主角孟拂周齐越的小说
下一篇:返回列表