Redis之集群环境搭建

7 篇文章 0 订阅
7 篇文章 0 订阅

redis集群

一,redis集群相关概念

Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。

Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误.

Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令. Redis 集群的优势:
1.自动分割数据到不同的节点上。
2.整个集群的部分节点失败或者不可达的情况下能够继续处理命令

搭建集群环境准备

安装ruby

yum -y install ruby
yum -y install rubygems
gem install redis

错误处理

[root@root src]# gem install redis
ERROR:  Error installing redis:
	redis requires Ruby version >= 2.2.2.

解决方式参考此链接:https://blog.csdn.net/qq_38526573/article/details/87220510

解决完成后再次执行gem install redis命令

[root@root ~]# gem install redis
Fetching: redis-4.1.0.gem (100%)
Successfully installed redis-4.1.0
Parsing documentation for redis-4.1.0
Installing ri documentation for redis-4.1.0
Done installing documentation for redis after 1 seconds
1 gem installed

创建实例

在/opt目录下创建redis-cluster目录,并在该目录下创建6个redis实例
在这里插入图片描述

修改配置文件

修改端口号

在这里插入图片描述

打开cluster-enable前面的注释

在这里插入图片描述

注释掉绑定ip

在这里插入图片描述

保护模式修改为no

在这里插入图片描述

设置日志储存位置和dump的路径

在这里插入图片描述
在这里插入图片描述
注意重复修改6次

启动实例编写一个简单的脚本 start.sh

将每个节点下aof、rdb、nodes.conf本地备份文件删除;

cd /opt/redis-cluster/redis7001
rm -rf dump.rdb nodes.conf appendonly.aof
src/redis-server redis.conf

cd /opt/redis-cluster/redis7002
rm -rf dump.rdb nodes.conf appendonly.aof
src/redis-server redis.conf

cd /opt/redis-cluster/redis7003
rm -rf dump.rdb nodes.conf appendonly.aof
src/redis-server redis.conf

cd /opt/redis-cluster/redis7004
rm -rf dump.rdb nodes.conf appendonly.aof
src/redis-server redis.conf

cd /opt/redis-cluster/redis7005
rm -rf dump.rdb nodes.conf appendonly.aof
src/redis-server redis.conf

cd /opt/redis-cluster/redis7006
rm -rf dump.rdb nodes.conf appendonly.aof
src/redis-server redis.conf

改变脚本的权限模式

chmod 777 start.sh
然后启动./satrt.sh
在这里插入图片描述

创建集群

现在我们已经有了六个正在运行中的 Redis 实例, 接下来我们需要使用这些实例来创建集群, 并为每个节点编写配置文件

redis-cli --cluster create 192.168.119.12:7001 192.168.119.12:7002 192.168.119.12:7003 192.168.119.12:7004 192.168.119.12:7005  192.168.119.12:7006 --cluster-replicas 1

命令说明
选项–replicas 1 表示我们希望为集群中的每个主节点创建一个从节点
之后跟着的其他参数则是这个集群实例的地址列表,3个master3个slave
redis-cli --cluster 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes, redis-cli --cluster 就会将这份配置应用到集群当中,让各个节点开始互相通讯,
在这里插入图片描述

测试集群

登陆命令

redis7001/src/redis-cli -h 192.168.88.121 -p 7001 -c

在这里插入图片描述

查看集群环境的相关命令

命令说明
cluster info打印集群的信息
cluster nodes列出集群当前已知的所有节点( node),以及这些节点的相关信息。节点
cluster meet 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
cluster forget <node_id>从集群中移除 node_id 指定的节点。
cluster replicate <node_id>将当前节点设置为 node_id 指定的节点的从节点。
cluster saveconfig将节点的配置文件保存到硬盘里面。槽(slot)
cluster addslots [slot …]将一个或多个槽( slot)指派( assign)给当前节点。
cluster delslots [slot …]移除一个或多个槽对当前节点的指派。
cluster flushslots移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
cluster setslot node <node_id>将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
cluster setslot migrating <node_id>将本节点的槽 slot 迁移到 node_id 指定的节点中。
cluster setslot importing <node_id>从 node_id 指定的节点中导入槽 slot 到本节点。
cluster setslot stable取消对槽 slot 的导入( import)或者迁移( migrate)。键
cluster keyslot 计算键 key 应该被放置在哪个槽上。
cluster countkeysinslot返回槽 slot 目前包含的键值对数量。
cluster getkeysinslot 返回 count 个 slot 槽中的键

cluster info命令

在这里插入图片描述

cluster nodes

在这里插入图片描述
至此集群搭建成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值