但是我们需要注意的是在故障转移的时间段内,一些10.103.16.35:7001的写操作是会丢失的。直到他的从库提升为主库为止,这是redis为了保证数据一致性而采取的措施。
7:集群的节点管理:
我们先看一下怎么添加节点,添加节点分为两类(主节点或者从节点)
主节点:
./redis-trib.rb add-node 10.103.16.34:7004 10.103.16.34:7001
这样我们就把10.103.16.34:7004添加为集群的新的主节点,不过我们要注意的是,这时候他仅仅是一个没有哈希槽的主节点,并不会存储任何数据。
我们可以使用 redis-trib 程序, 将集群中的某些哈希桶移动到新节点里面, 新节点就会成为真正的主节点了。
从节点:
./redis-trib.rb add-node 10.103.16.34:7004 10.103.16.34:7001 redis 10.103.16.34::7004> cluster replicate 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e
将新节点指定为ID为3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e的从节点。
接下来我们看一下怎么移除某个节点,语法格式如下:
./redis-trib del-node 127.0.0.1:7000 `<node-id>`
但是我们要注意一点,移除主节点的时候必须保证主节点是空的,也就是事先将要移除的主节点的哈希槽给转移到其他的主节点上。