redis集群搭建及管理

redis 集群
在这里插入图片描述
配置管理主机mgm57
1)部署ruby脚本运行环境

[root@mgm57 ~]#yum -y install rubygems
[root@mgm57 ~]# which gem
/usr/bin/gem
[root@mgm57 ~]# ls *.gem
redis-3.2.1.gem
[root@mgm57 ~]#
[root@mgm57 ~]# gem install redis-3.2.1.gem
Successfully installed redis-3.2.1
Parsing documentation for redis-3.2.1
Installing ri documentation for redis-3.2.1
1 gem installed

2)创建管理集群脚本

[root@mgm57 ~]#mkdir /root/bin //创建命令检索目录
[root@mgm57 ~]#tar -zxvf redis-4.0.8.tar.gz
[root@mgm57 ~]#cd redis-4.0.8/src/
[root@mgm57 ~]#cp redis-trib.rb /root/bin/ //创建管理集群脚本
[root@mgm57 ~]#chmod +x /root/bin/redis-trib.rb
[root@mgm57 ~]#redis-trib.rb help //查看命令帮助

创建集群
1)启动数据库服务器的集群功能(51~56主机)
[root@redisA ~]# /etc/init.d/redis_6379 stop //停止redis服务
Stopping …
Waiting for Redis to shutdown …
Redis stopped
[root@redisA ~]# vim /etc/redis/6379.conf //修改配置文件
bind 192.168.4.51 //修改ip
port 6351 //修改端口(可选配置)
cluster-enabled yes //启用集群功能
cluster-config-file nodes-6379.conf //存储集群信息的配置文件
cluster-node-timeout 5000 //集群节点通信超时时间

[root@redisA ~]# rm -rf /var/lib/redis/6379/* //清空数据

[root@redisA ~]# vim +43 /etc/init.d/redis_6379
$CLIEXEC -h 192.168.4.51 -p 6351 shutdown

[root@redisA ~]# /etc/init.d/redis_6379 start
Starting Redis server…

[root@redisA ~]# netstat -utnlp | grep redis-server
tcp 0 0 192.168.4.51:6351 0.0.0.0:* LISTEN 21201/redis-server
tcp 0 0 192.168.4.51:16351 0.0.0.0:* LISTEN 21201/redis-server

2)在管理主机mgm57,创建集群
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 //查看集群信息

2)在管理主机检测集群

root@mgm57 ~]# redis-trib.rb check 192.168.4.51:6351 //检测集群

3)在任意一台redis服务器本机,查看集群信息

[root@redisA ~]# redis-cli -h 192.168.4.51 -p 6351
192.168.4.51:6351> cluster info //查看集群信息

访问集群

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

[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
192.168.4.53:6353> keys *

  1. “x”
    192.168.4.53:6353>
    192.168.4.53:6353> set y 200
    OK
    192.168.4.53:6353> keys *
  2. “y”
  3. “x”
    192.168.4.53:6353> set z 300 //存储
    -> Redirected to slot [8157] located at 192.168.4.52:6352 //提示存储在52主机
    OK
    192.168.4.52:6352> keys * //在52主机查看数据 只有变量z
  4. “z”
    192.168.4.52:6352> get x
    -> Redirected to slot [16287] located at 192.168.4.53:6353 //连接53主机获取数据
    “100”
    192.168.4.53:6353> keys *
  5. “y”
  6. “x”
    192.168.4.53:6353> get z
    -> Redirected to slot [8157] located at 192.168.4.52:6352
    “300”
    192.168.4.52:6352> set i 400
    -> Redirected to slot [15759] located at 192.168.4.53:6353
    OK
    192.168.4.53:6353> set j 500
    -> Redirected to slot [3564] located at 192.168.4.51:6351
    OK

添加服务器
部署新redis服务器 ip为192.168.4.58
1)装包,初始化,启用集群功能,重启服务
]#yum -y install gcc
]#tar -zxvf redis-4.0.8.tar.gz
]#cd redis-4.0.8/
]#make
]#make install
]#./utils/install_server.sh

]# /etc/init.d/redis_6379 stop
vim /etc/redis/6379.conf
bind 192.168.4.58
port 6358
cluster-enabled yes //启用集群
cluster-config-file nodes-6379.conf //存储集群信息文件
cluster-node-timeout 5000

    # vim +43 /etc/init.d/redis_6379
     $CLIEXEC -h 192.168.4.58 -p 6358 shutdown

:wq
]# /etc/init.d/redis_6379 start
]# netstat -utnlp | grep redis-server
tcp 0 0 192.168.4.58:6358 0.0.0.0:* LISTEN 21201/redis-server
tcp 0 0 192.168.4.58:16358 0.0.0.0:* LISTEN 21201/redis-server

添加master角色主机到集群里

1)在管理主机,添加master角色主机
root@mgm57 ~]# redis-trib.rb add-node 192.168.4.58:6358 192.168.4.53:6353 //执行添加命令
.........
[OK] New node added correctly. //提示添加完成

2) 在管理主机,查看集群新消息

[root@mgm57 ~]# redis-trib.rb info 192.168.4.53:6353 //查看集群信息
192.168.4.53:6353 (9e44139c…) -> 3 keys | 5461 slots | 1 slaves.
192.168.4.52:6352 (324e05df…) -> 2 keys | 5462 slots | 1 slaves.
192.168.4.58:6358 (4fe1fa46…) -> 0 keys | 0 slots | 0 slaves. //主服务器58
192.168.4.55:6355 (2d343a9d…) -> 3 keys | 5461 slots | 1 slaves.
[OK] 8 keys in 4 masters.
0.00 keys per slot on average.

添加slave角色主机到集群里
1)部署新的redis服务器 192.168.4.59

]#yum -y install gcc
]#tar -zxvf redis-4.0.8.tar.gz
]#cd redis-4.0.8/
]#make
]#make install
]#./utils/install_server.sh

]# /etc/init.d/redis_6379 stop
vim /etc/redis/6379.conf
bind 192.168.4.59
port 6359
cluster-enabled yes //启用集群
cluster-config-file nodes-6379.conf //存储集群信息文件
cluster-node-timeout 5000

vim +43 /etc/init.d/redis_6379

     $CLIEXEC -h 192.168.4.59 -p 6359 shutdown

:wq
]# /etc/init.d/redis_6379 start
]# netstat -utnlp | grep redis-server
tcp 0 0 192.168.4.59:6359 0.0.0.0:* LISTEN 21201/redis-server
tcp 0 0 192.168.4.59:16359 0.0.0.0:* LISTEN 21201/redis-server

2)在管理主机,添加slave角色主机

[root@mgm57 ~]# redis-trib.rb add-node --slave 192.168.4.59:6359 192.168.4.51:6351 //执行添加命令

3) 在管理主机,查看集群新消息
[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 | 1 slaves. //有1个从服务器
[OK] 13 keys in 4 masters.
0.00 keys per slot on average.

4)在管理主机,检测集群

[root@mgm57 ~]# redis-trib.rb check 192.168.4.53:6353 //检测集群

5)在客户端,访问从服务器59,查看数据

[root@host50 ~]# redis-cli -c -h 192.168.4.59 -p 6359

移除服务器

把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

把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个数槽

2)在管理主机,查看集群信息
[root@mgm57 ~]# redis-trib.rb info 192.168.4.51:6351

3)在管理主机,移除master主机
[root@mgm57 ~]# redis-trib.rb del-node 192.168.4.53:6353 \
c5e0da48f335c46a2ec199faa99b830f537dd8a0 //删除谁+删除的id

4)在管理主机,查看集群信息
[root@mgm57 ~]# redis-trib.rb info 192.168.4.51:6351

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值