Redis Cluster 集群节点信息 维护篇(二)
阅读原文时间:2023年07月09日阅读:1
# cluster 集群内部信息对应文件,由集群自动维护.
/data/soft/redis/6379data/nodes-6379.conf


./redis-trib.rb check 10.10.5.11:6379              # 检测集群详细信息
./redis-trib.rb info 10.10.5.11:6379               # 查看集群简易信息

redis-cli -h 10.10.5.11 -a 123456 cluster info     # 查看集群内部info信息(用于做脚本写监控)
redis-cli -h 10.10.5.11 -a 123456 cluster nodes    # 打印集群内部对应的信息(myself 是自己所在的机器)



# 集群的对应slots信息,

[root@srv-1 src]# redis-cli -h 10.10.5.11 -a 123456 cluster nodes
Warning: Using a password with '-a' option on the command line interface may not be safe.
57e6cc3af523aa829705cd0072d6283b988a43c7 10.10.5.16:6379@16379 slave 905e3ecb99a4723b12bb5d7fda91372ee72909be 0 1588936736293 6 connected
bad22bcf6c5c42b13c3692c4d1cfcbde7fd7ce14 10.10.5.14:6379@16379 slave 3a311c961450d50f6236d814106fcd0f7723e071 0 1588936735287 4 connected
761fbb98a72600b8322fc34e3b2bbf0adbd3822e 10.10.5.15:6379@16379 slave 291faee66636effee60e8409894a4ebae40fe4a6 0 1588936735000 5 connected
3a311c961450d50f6236d814106fcd0f7723e071 10.10.5.13:6379@16379 master - 0 1588936733271 3 connected 10923-16383
905e3ecb99a4723b12bb5d7fda91372ee72909be 10.10.5.12:6379@16379 master - 0 1588936734281 2 connected 5461-10922
291faee66636effee60e8409894a4ebae40fe4a6 10.10.5.11:6379@16379 myself,master - 0 1588936733000 1 connected 0-5460

# 总结的信息对应关系如下:
           主从 1       主从 2     主从 3
master   10.10.5.11   10.10.5.12  10.10.5.13
slave    10.10.5.15   10.10.5.16  10.10.5.14

# 尝试在集群里面写入数据:
[root@srv-1 src]# redis-cli -h 10.10.5.11
10.10.5.11:6379> auth 123456
OK
10.10.5.11:6379> keys *
(empty list or set)
10.10.5.11:6379> set name linux08
(error) MOVED 5798 10.10.5.12:6379
10.10.5.11:6379>

# 根据cluster 集群指定节点写入数据:
[root@srv-2 ~]# redis-cli -h 10.10.5.12
10.10.5.12:6379> auth 123456
OK
10.10.5.12:6379> set name linux08
OK
10.10.5.12:6379> get name
"linux08"
10.10.5.12:6379> 

1 )  这个时候Slave主机是什么都不能做的,既不能写入,也不能查询, 只能keys.
2 )  不是所有的数据都能在一个节点上写入的,根据算法CRC16(keys)%16384,最后决定分配到哪个nodes 上写入. 图
     所有的从在slave 状态下只能是keys 一下,Get 都不行,所以读写只能在master 端完成.
3 )  在10.10.5.12 这个主从节点上写入的数据,在其他2个节点上是不存在的. 相反其它节点也一样。