文章目录
  1. 1. Redis集群操作
    1. 1.1. 启动集群
    2. 1.2. 查看是否全部启动成功
    3. 1.3. 查看集群状态
  2. 2. 新建集群操作
    1. 2.1. 创建目录并修改配置文件
    2. 2.2. 启动7007和7008这两台服务器
    3. 2.3. 通过redis-trib添加节点
    4. 2.4. 为7007节点分别slot槽
    5. 2.5. 添加从节点7008到集群中
  3. 3. 总结

Redis集群操作

在前一文中,我们已经创建好了redis集群,并启动和验证通过。下面我们将这个集群进行水平扩展,为集群添加节点。

启动集群

1
2
3
4
5
6
/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/7001/redis.conf
/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/7002/redis.conf
/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/7003/redis.conf
/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/7004/redis.conf
/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/7005/redis.conf
/home/hadoop/apps/redis-3.0.0/bin/redis-server /home/hadoop/apps/redis-cluster/7006/redis.conf

查看是否全部启动成功

1
2
3
4
5
6
hadoop 8180 1 0 01:11 ? 00:00:29 /home/hadoop/apps/redis-3.0.0/bin/redis-server 192.168.137.5:7001 [cluster]
hadoop 8184 1 0 01:11 ? 00:00:29 /home/hadoop/apps/redis-3.0.0/bin/redis-server 192.168.137.5:7002 [cluster]
hadoop 8190 1 0 01:11 ? 00:00:29 /home/hadoop/apps/redis-3.0.0/bin/redis-server 192.168.137.5:7003 [cluster]
hadoop 8194 1 0 01:11 ? 00:00:29 /home/hadoop/apps/redis-3.0.0/bin/redis-server 192.168.137.5:7004 [cluster]
hadoop 8198 1 0 01:11 ? 00:00:29 /home/hadoop/apps/redis-3.0.0/bin/redis-server 192.168.137.5:7005 [cluster]
hadoop 8202 1 0 01:11 ? 00:00:29 /home/hadoop/apps/redis-3.0.0/bin/redis-server 192.168.137.5:7006 [cluster]

查看集群状态

redis集群操作查看集群状态

新建集群操作

我们新建两个服务器,还是按照之前新建的方式,通过伪分布式来创建,使用文件夹代表节点。两个服务器一主一从。Master端口7007,Slave端口:7008

创建目录并修改配置文件

  • 创建7007和7008两个目录,并将redis.conf文件拷贝到刚创建的7007和7008目录。
    redis集群新建目录和拷贝配置文件
  • 修改7007和7008目录下的配置文件,修改port 7007 dir dir /home/hadoop/apps/redis-cluster/7007/ cluster-config-file nodes-7007.conf 这三处,7008目录下的也是同理。

启动7007和7008这两台服务器

  • 正常启动7007和7008节点,并验证是否启动成功。http://opzxa0ul7.bkt.clouddn.com/redis集群启动7007和7008节点和验证.jpg
  • 虽然启动成功,但是7007和7008节点并没有加入到集群中。redis集群验证7007和7008节点没有加入到集群.

通过redis-trib添加节点

进入/home/hadoop/apps/redis-3.0.0/src 目录执行 ./redis-trib.rb 脚本

  • create,创建一个集群host1:port1…hostN:portN (集群中的主从节点比例)
  • call,可以执行redis命令
  • add-node,将一个节点添加到集群里,第一个参数为新节点的ip:port,第二个参数为集群中任意一个已存节点的ip:port
  • del-node,移除一个节点
  • reshard,重新分片
  • check,检查集群状态
  • 新增一个主节点7007(master)
    redis集群新增节点
  • 这个是连接到集群,查看集群节点信息
    redis集群新增节点后查看节点信息
    通过集群节点信息查看,新增的7007节点没有槽,下面为7007节点添加槽

为7007节点分别slot槽

使用redis-trib 命令,找到集群中的任意一个主节点,对其进行重新分片工作。

  • 执行 ./redis-trib.rb reshard 192.168.137.5:7001 命令进行重新分片,下面图片显示为节点分配多少个槽,这里分配的是1000
    redis集群进行重新分片1
  • 输入分配槽后,再次需要确认为那个节点分配槽,这是是7007节点
    redis集群进行重新分片2.
  • 输入7007节点id后,还需选择上面提供的1000个槽,怎么分配过去。Type all 表示除了新增节点外,其他平均分配这1000个节点,也就是7001、7002、7003这三个节点分别提供333个节点。如果是Type done 表示指定某个节点id,全部从这个节点获取1000个节点;这里选择all
    redis集群进行重新分片3
  • 然后还需要你确认执行计划,输入yes 即可
  • 验证7007节点是否有槽,连接集群任意节点,输入cluster nodes 命令查看
    redis集群验证7007节点槽

添加从节点7008到集群中

  • 使用./redis-trib.rb 脚本的的 add-node 命令,将7008添加到集群中;./redis-trib.rb add-node 192.168.137.5:7008 192.168.137.5:7002
    redis集群添加7008节点
  • 然后使用replicate命令指定当前节点(从节点)的主节点id是那个,首先要登录7008节点的客户端,然后使用集群命令操作,把当前的7008节点指定到主节点7007下。
    redis集群设置7008节点为7007的从节点

总结

至此redis水平扩展的步骤执行完毕,在进行水平扩展时对redis的其他服务器没有任何影响

文章目录
  1. 1. Redis集群操作
    1. 1.1. 启动集群
    2. 1.2. 查看是否全部启动成功
    3. 1.3. 查看集群状态
  2. 2. 新建集群操作
    1. 2.1. 创建目录并修改配置文件
    2. 2.2. 启动7007和7008这两台服务器
    3. 2.3. 通过redis-trib添加节点
    4. 2.4. 为7007节点分别slot槽
    5. 2.5. 添加从节点7008到集群中
  3. 3. 总结