add-node命令可以将新节点加入集群,节点可以为master,也可以为某个master节点的slave

add-node new_host:new_port existing_host:existing_port 

-–slave 

-–master-id 

add-node有两个可选参数:

-–slave:设置该参数,则新节点以slave的角色加入集群 

-–master-id:这个参数需要设置了-–slave才能生效,-–master-id用来指定新节点的master节点。如果不设置该参数,则会随机为节点选择master节点。 

  • 如果添加的是主节点master,只需指定源节点和目标节点的地址即可

    ./src/redis-trib.rb add-node  114.55.116.177:8012 114.55.116.177:8001

    8012服务已成为master节点,但是分配的为0个slots,新增的master节点是没有slots槽的

    通过reshard重新分配slots,命令:

    # ./src/redis-trib.rb reshard 114.55.116.177:8012

    6.png

  • 如果添加的是从节点slave 

    ./src/redis-trib.rb add-node  –slave  –master-id 4e6ac38201943a070d65dc7c489e334cb7cf9bc6 114.55.116.177:8010 114.55.116.177:8001

    4.png

    注意:–slave –master-id必须写在前面 同样的参数,如果是下面这样写法,会提示错误

    5.png添加从节点,可不设置–master-id,此时会随机选择主节点。