NOSQL:redis集群

redis集群

一.创建集群配置环境:

1.部署管理主机:

  • 在redis服务器上部署ruby脚本运行环境
  • 创建管理集群脚本redis-trib.rb
    #yum -y install rubygems ruby #gem install redis-3.2.1.gem #mkdir /root/bin //创建命令检索目录
    #tar -xf redis-4.0.8.tar.gz
    #cp redis-4.0.8/src/reds-trib.rb /root/bin/ //创建管理集群脚本
    #chmod +x /root/bin/redis-trib.rb
    #redis-trib.rb help //查看命令帮助

redis-trib脚本

用法:
#redis-trib.rb <command> <options> <arguments...>

命令描述
create创建
check检查集群
info查看集群信息
reshard重新分片
del-node删除主机
add-node --slave添加slave主机
add-node添加master主机
rebalance平均分配hash slots

创建集群

  • 配置redis服务器
    – 启用集群功能
    – 查看服务信息
#vim /etc/redis/redis.conf
 cluster-enabled yes
 cluster-config-file node-6379.conf
 cluster-node-timeout 5000

#/etc/init.d/redis_6379 restart //重起服务
#netstat -untlp | grep redis-server

在管理主机 创建集群

root@mgm57 ~]#redis-trib.rb create  --replicas 1 \
> 192.168.4.51:6351  192.168.4.52:6352  192.168.4.53:6353 \
> 192.168.4.54:6354  192.168.4.55:6355  192.168.4.56:6356

查看集群信息
1)在管理主机查看集群信息

[root@mgm57 ~]# redis-trib.rb info 192.168.4.51:6351 //查看集群信息
192.168.4.51:6351 (d9f8fe6d...) -> 0 keys | 5461 slots | 1 slaves.
192.168.4.52:6352 (324e05df...) -> 0 keys | 5462 slots | 1 slaves.
192.168.4.53:6353 (9e44139c...) -> 0 keys | 5461 slots | 1 slaves.
[OK] 0 keys in 3 masters.
0.00 keys per slot on average
2)在管理主机检测集群
[root@mgm57 ~]# redis-trib.rb check 192.168.4.51:6351 //检测集群

3)在任意一台redis服务器本机,查看集群信息
oot@redisA ~]# redis-cli -h 192.168.4.51 -p 6351 192.168.4.51:6351> cluster info /查看集群信息

4)在客户端连接集群中的任意一台服务器存取数据

[root@client50 ~]# redis-cli  -c  -h 192.168.4.51 -p 6351 //连接服务器51
192.168.4.51:6351>
192.168.4.51:6351> set x 100  //存储
-> Redirected to slot [16287] located at 192.168.4.53:6353  //提示存储在53主机
OK

添加服务器

1)在管理主机,重新分配hash槽

[root@mgm57 ~]# redis-trib.rb  reshard   192.168.4.53:6353  
How many slots do you want to move (from 1 to 16384)?4096   //拿出4096个hash 槽给主机192.168.4.58
What is the receiving node ID?  c5e0da48f335c46a2ec199faa99b830f537dd8a0   //主机192.168.4.58的id值
Source node #1:all      //从当前所有master服务器获取hash槽
Do you want to proceed with the proposed reshard plan (yes/no)?yes //同意以上配置问集群

添加slave角色主机到集群里
1)部署新的redis服务器
root@mgm57 ~]# redis-trib.rb add-node --slave 192.168.4.59:6359 192.168.4.51:6351//添加命令
添加master角色主机到集群里
在管理主机,添加master角色主机

oot@mgm57 ~]# redis-trib.rb add-node 192.168.4.58:6358 192.168.4.53:6353//行添加命

移除服务器

步骤一:把slave服务器移除集群
1)在管理主机,移除slave服务器,从服务器没有槽,直接移除即可。

 [root@mgm57 ~]# redis-trib.rb  del-node 192.168.4.51:6351 f6649ea99b2f01faca26217691222c17a3854381   //执行移除命令
2)在管理主机,查看集群信息
[root@mgm57 ~]# redis-trib.rb  info  192.168.4.51:6351
192.168.4.55:6355 (2d343a9d...) -> 3 keys | 4096 slots | 1 slaves.
192.168.4.53:6353 (9e44139c...) -> 3 keys | 4096 slots | 1 slaves.
192.168.4.52:6352 (324e05df...) -> 2 keys | 4096 slots | 1 slaves.
192.168.4.58:6358 (4fe1fa46...) -> 5 keys | 4096 slots | 0 slaves.//58主机,没有从服务器
[OK] 13 keys in 4 masters.
0.00 keys per slot on average.

步骤二:把master服务器移除集群

1)在管理主机,先删除master服务器占用的hash槽

[root@mgm57 ~]# redis-trib.rb  reshard 192.168.4.53:6353
How many slots do you want to move (from 1 to 16384)?4096 //移除4096个数槽
What is the receiving node ID?  bc5c4e082a5a3391b634cf433a6486c867cfc44b 
    //要移动给谁的id即目标主机(这里可以随机写一个master的ID)  
Source node #1: c5e0da48f335c46a2ec199faa99b830f537dd8a0
//从谁那移动即源主机(这里写4.58的ID)  
Source node #2:done           //设置完毕
2)在管理主机,查看集群信息
[root@mgm57 ~]# redis-trib.rb  info  192.168.4.51:6351
192.168.4.55:6355 (2d343a9d...) -> 3 keys | 4096 slots | 1 slaves.
192.168.4.53:6353 (9e44139c...) -> 3 keys | 4096 slots | 1 slaves.
192.168.4.52:6352 (324e05df...) -> 2 keys | 4096 slots | 1 slaves.
192.168.4.58:6358 (4fe1fa46...) -> 0 keys | 0 slots    | 0 slaves. //零个槽
[OK] 13 keys in 4 masters.
0.00 keys per slot on average.

移除master主机
oot@mgm57 ~]# redis-trib.rb del-node 192.168.4.53:6353 \ c5e0da48f335c46a2ec199faa99b830f537dd8a0 // 删除谁+删除的id

在管理主机,查看集群信息
[root@mgm57 ~]# redis-trib.rb  info  192.168.4.51:6351  
192.168.4.55:6355 (2d343a9d...) -> 3 keys | 4096 slots | 1 slaves.
192.168.4.53:6353 (9e44139c...) -> 3 keys | 4096 slots | 1 slaves.
192.168.4.52:6352 (324e05df...) -> 2 keys | 4096 slots | 1 slaves.
[OK] 13 keys in 3 masters. //主服务器个数3台,没有58 
0.00 keys per slot on average.

访问集群

  • 在客户端可以链接任意一台redis服务器
  • 命令]redis-cli -c -h ip地址 -p 端口号
  • 选项 -c 集群模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值