Redis 向集群添加新节点

Posted BridgeStone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 向集群添加新节点相关的知识,希望对你有一定的参考价值。

步骤:

  1. 启动集群服务(向集群添加新节点,则说明,集群是已知的)。

  2. 搭建将要添加到集群的节点

    (1)以集群的方式对新添加的节点进行配置:redis.conf.

    (2)启动节点实例服务.

   3.集群管理 可参考  Redis cluster tutorial 官网指导文档,往往是最新的。

一、启动集群服务:【命令在集群服务器执行】

  (1) 启动集群服务(3个实例 6001 6002 6003)

    /usr/local/redis/redis-5.0.8/src/redis-server /usr/local/redis-cluster/6001/redis.conf

    /usr/local/redis/redis-5.0.8/src/redis-server /usr/local/redis-cluster/6002/redis.conf

    /usr/local/redis/redis-5.0.8/src/redis-server /usr/local/redis-cluster/6003/redis.conf

  (2) 客户端连接

    /usr/local/redis/redis-5.0.8/src/redis-cli -c -h 192.168.11.10 -p 6001

    192.168.11.10:6001> cluster nodes

    ae87077a695cecc57f0196e47d561329ca725d4d 192.168.11.10:6003@16003 master - 0 1591414267000 3 connected 10923-16383
    4f25757eec50e76d8b74d6cce25987f22be10063 192.168.11.10:6001@16001 myself,master - 0 1591414266000 1 connected 0-5460
    228e33659b4323878b1174e211c46bfe2f5ca34a 192.168.11.10:6002@16002 master - 0 1591414268393 2 connected 5461-10922

    结论:集群正常

 

二、搭建将要添加到集群的节点:

  1. 待添加到集群的节点,文件结构

    [root@localhost src]# cd /usr/local/redis-cluster/

    [root@localhost redis-cluster]# ls
    7001 7002 7003
    [root@localhost redis-cluster]# cd 7001
    [root@localhost 7001]# ls
    redis.conf

 

  2. 修改集群节点的配置文件 redis.conf

    (1)daemonize no ——> daemonize yes 

    (2)port 6379 修改为对应节点目录的端口号(本次修改为7001 7002 7003)

    (3)bind 127.0.0.1 ——> bind 当前机器的IP地址(本次为 192.168.11.11)

    (4) dir 这一行 指定数据文件的存放路径。设置为各个节点下的目录。目录结构类似为"/usr/local/redis/redis-cluster/节点目录/" (本次为 dir /usr/local/redis/redis-cluster/7001/)

    (5)启动集群模式。cluster-enabled ——> cluster-enabled yes

    (6)设置集群的配置文件路径 。cluster-config-file nodes***.conf。***代表每个节点的目录对应的位置。本次修改为7001

     (7)修改appendonly 为yes 。然后按照7001节点配置格式分别修改7002,7003这几个节点的配置文件

 

  3.编译redis

     在redis目录下,执行 make

    [root@localhost ~]# cd /usr/local/redis/redis-6.0.3/ 

    [root@localhost redis-6.0.3]# make

 

  4. 发现 在 redis-6.0.3/src 下 多了不少文件 尤其增添了 redis-server  (操作服务端)、redis-cli(操作客户端)

    (1)启动服务【命令在待添加节点所在的服务器执行】:/usr/local/redis/redis-6.0.3/src/redis-server /usr/local/redis-cluster/7001/redis.conf

    (2)添加节点到指定节点下,作为其(192.168.11.10:6001)slave节点【命令在集群服务器执行】:/usr/local/redis/redis-5.0.8/src/redis-cli --cluster add-node 192.168.11.11:7001 192.168.11.10:6001 --cluster-slave --cluster-master-id 4f25757eec50e76d8b74d6cce25987f22be10063

    (3)查验【新添加的节点所在的服务器、也可以在集群服务器(注意路径)】:

      [root@localhost src]# /usr/local/redis/redis-6.0.3/src/redis-cli -c -h 192.168.11.11 -p 7001
      192.168.11.11:7001> cluster nodes
      27a1958f412a5ea7edaa364ab0079af27310afdd 192.168.11.11:7001@17001 myself,slave 4f25757eec50e76d8b74d6cce25987f22be10063 0 1591416650000 0 connected
      228e33659b4323878b1174e211c46bfe2f5ca34a 192.168.11.10:6002@16002 master - 0 1591416652000 2 connected 5461-10922
      ae87077a695cecc57f0196e47d561329ca725d4d 192.168.11.10:6003@16003 master - 0 1591416652582 3 connected 10923-16383
      4f25757eec50e76d8b74d6cce25987f22be10063 192.168.11.10:6001@16001 master - 0 1591416653587 1 connected 0-5460

 

以上是关于Redis 向集群添加新节点的主要内容,如果未能解决你的问题,请参考以下文章

redis集群添加新节点

redis集群扩容(添加新节点)

redis演练(10) redis Cluster 集群节点维护

Redis集群动态增加或者删除节点

如何向我的 Elasticsearch 集群添加新节点

Redis集群操作