Redis集群部署(单机)

一、Redis集群

Redis3.0 及其之后的版本提供了 redis-cluster 集群支持,用于在多个redis节点间共享数据,以提高服务的可用性。

构建redis-cluster集群可以通过redis-trib.rb工具来完成。redis-trib.rb是redis官方提供的一个集群管理工具,集成在redis安装包的src目录下。redis-trib.rb封装了redis提供的集群命令,使用简单、便捷。因为redis-trib.rb是由ruby语言编写的,所以使用该工具需要ruby语言环境的支持。

1.配置单机多线程
以节点7001为例:
[root@server1 ~]# mkdir /usr/local/redis-cluster/700{1..6} -p
[root@server1 ~]# cd /usr/local/redis-cluster/
[root@server1 redis-cluster]# ls
7001  7002  7003  7004  7005  7006
[root@server1 redis-cluster]# cd 7001
[root@server1 7001]# vim redis.conf
port 7001         ##端口
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
dir /usr/local/redis-cluster/7001
logfile /usr/local/redis-cluster/7001/redis.log
daemonize yes     ##后台运行
pidfile /usr/local/redis-cluster/7001/redis.pid   ##pid
[root@server1 7001]# redis-server redis.conf  ##开启redis服务
[root@server1 7001]# ls
appendonly.aof  nodes.conf  redis.conf  redis.log
其它节点配置同节点7001:
[root@server1 7001]# cp redis.conf ../7002
[root@server1 7001]# cp redis.conf ../7003
[root@server1 7001]# cp redis.conf ../7004
[root@server1 7001]# cp redis.conf ../7005
[root@server1 7001]# cp redis.conf ../7006
[root@server1 7001]# cd ..
[root@server1 redis-cluster]# cd 7002
[root@server1 7002]# vim redis.conf        ##同节点1,替换:%s/7001/7002
[root@server1 7002]# redis-server redis.conf 

[root@server1 7002]# cd ..
[root@server1 redis-cluster]# cd 7003
[root@server1 7003]# vim redis.conf        ##同节点1,替换:%s/7001/7003
[root@server1 7003]# redis-server redis.conf 

[root@server1 7003]# cd ..
[root@server1 redis-cluster]# cd 7004
[root@server1 7004]# vim redis.conf        ##同节点1,替换:%s/7001/7004
[root@server1 7004]# redis-server redis.conf 

[root@server1 7004]# cd ..
[root@server1 redis-cluster]# cd 7005
[root@server1 7005]# vim redis.conf        ##同节点1,替换:%s/7001/7005
[root@server1 7005]# redis-server redis.conf 

[root@server1 7005]# cd ..
[root@server1 redis-cluster]# cd 7006
[root@server1 7006]# vim redis.conf        ##同节点1,替换:%s/7001/7006
[root@server1 7006]# redis-server redis.conf 
配置完毕后,查看集群进程:

这里写图片描述

2.集群管理工具redis-trib.rb(Ruby语言支持)
[root@server1 ~]# cd redis/redis-4.0.1/src/
[root@server1 src]# cp redis-trib.rb /usr/local/bin/
[root@server1 src]# cd /usr/local/bin/

这里写图片描述

安装ruby语言,redis-4.0.1版本需要2.2.2以上版本的Ruby
[root@server1 redis]# yum install rubygems-1.3.7-5.el6.noarch.rpm -y
[root@server1 redis]# rpm -ivh libyaml-0.1.3-4.el6_6.x86_64.rpm
[root@server1 redis]# yum install ruby-2.2.3-1.el6.x86_64.rpm -y

这里写图片描述

3.添加redis到Ruby包管理器gem
[root@server1 redis]# gem install --local redis-4.0.1.gem
[root@server1 redis]# gem list --local  ##列出gem本地包

这里写图片描述


注意:redis目录中存在redis-4.0.1.gem

在这里插入图片描述


4.创建集群
[root@server1 ~]# redis-trib.rb 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  ##yes (每个集群对应一个节点)
[root@server1 ~]# /etc/init.d/redis_6379 start

示图:创建集群,Master:7001、7002、7003,其对应的Slave分别为7004、7005、7006
这里写图片描述

测试:
1.任何节点操作,都会有 redis 集群分配,自动跳转

这里写图片描述


注意: info 命令指定集群上任一节点的地址便可以查看集群状态(指定节点7001)
这里写图片描述


2.破坏任意一组Master、Slave,集群无法使用

1>集群中3个Master和3个Slave
这里写图片描述
示图:集群进程
这里写图片描述
2>破坏Master:7002后,其Slave:7005接替成为Master’
这里写图片描述
3>破坏7005后,集群无法使用
这里写图片描述
这里写图片描述

3.破坏集群中过半的Master,集群无法使用

节点7002、7005恢复,集群恢复正常

[root@server1 7005]# redis-server redis.conf 
[root@server1 7002]# redis-server redis.conf 

这里写图片描述
破坏集群Master:7001、7005
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值