千家信息网

redis集群的创建及其使用

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,集群配置参数:cluster-enabled yes //开启集群cluster-config-file nodes.conf //保存集群信息的文件cluster-node-timeout 5000
千家信息网最后更新 2024年12月12日redis集群的创建及其使用

集群配置参数:

cluster-enabled yes //开启集群

cluster-config-file nodes.conf //保存集群信息的文件

cluster-node-timeout 5000 //集群节点超时时间

集群环境准备:

集群管理工具redis-trib是由ruby语言研发的,需要先安装ruby的依赖关系及环境;

redis的源码文件中有一个管理工具,是用ruby写的,所以需要安装ruby相关的软件;

yum install ruby rubygems -y

gem install redis

注:国内访问内过慢请参考此网址--> http://gems.ruby-china.org/

$ gem update --system # 这里请×××一下

$ gem -v

2.6.3


$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

$ gem sources -l

https://gems.ruby-china.org

# 确保只有 gems.ruby-china.org

注:如果遇到 SSL 证书问题,你又无法解决,请直接用 http://gems.ruby-china.org 避免 SSL 的问题

即:$ gem sources --add http://gems.ruby-china.org/ --remove https://rubygems.org/

利用redis-trib创建集群:

cp /usr/local/src/redis-3.2.0/src/redis-trib.rb /usr/local/bin/redis-trib

注:redis-trib.rb就是用ruby写的集群管理工具

注:如果是二进制安装的,没有redis-trib文件,则需要去下载源码文件,复制源码文件中redis-trib

创建集群:

注:集群中最少为3个节点

redis-trib create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006

注:创建后前3个为主,后3个为从

如何进入集群及查看集群节点:

使用-c选项即可进入集群:>redis-cli -c -h ip -p port

cluster info:查看此集群的信息

cluster nodes:查看此集群各节点的详细信息

如何增加集群节点:

语法:add-node new_host:new_port existing_host:existing_port

实例:redis-trib add-node 127.0.0.1:7007 127.0.0.1:7001

127.0.0.1:7007为新节点

127.0.0.1:7001为已存在的节点(任何一个已经存在主节点都可以)

添加后为master,刚增加时无槽位,需要重新给此节点分配槽位

>cluster nodes

为新增的节点分配槽位:默认新增加的节点是没有槽位的

#redis-trib reshard 127.0.0.1:7007

How mang slots do you want to move(from 1 to 16384)?:500

想给新节点分配多少槽位

What is the receiving node ID?

接收槽位的node节点的ID是多少? --> 此处把新节点的id写上去

Source node:从哪些节点上分配槽位到新节点

all:代表从所有节点上进行分配,即每个节点上都分配一些出来

槽位分配成功:

分配的方案是从其它的节点中都分配一些出来,给新增加的节点

将新增加的节点设置为某个节点的从:

#redis-trib add-node 192.168.2.99:7008 192.168.2.99:7001

>cluster replicate 8c381457742731bbc4d2376069d89b308c3fa5e7

8c381457742731bbc4d2376069d89b308c3fa5e7:为master的ID

注:需要登陆到新增加的节点上(需要被设定为从的节点),才能为其设定为从

0