动手搭_redis集群

搭建redis集群至少需要三个master节点。

我用了三台虚拟机,129,130,131。各一主一从,共三主三从的集群。

修改配置文件

创建集群配置目录,用端口号命名好区分 8001 & 8002
复制redis.conf文件分别至8001和8002目录下。
修改redis.conf文件

port 8001     #端口号
logfile "/srv/redis-3.2.9/cluster-conf/8001/redis.log"  #指定日志文件
dir "/srv/redis-cluster/8001/"              #数据存放文件位置rdb,aop,nodes.conf
cluster-enabled yes                         #开启集群
cluster-config-file  nodes.conf             #集群节点信息文件命名
cluster-node-timeout 5000                   #集群节点超时毫秒数
appendonly yes                              #开启aof持久化
bind 0.0.0.0                                #绑定ip。

同理 130和131机器,修改这些配置。

启动节点

cd 到bin目录下,./redis-server ../8001/redis.conf& 分别启动各自机器的8001和8002

创建集群

./redis-trib.rb create --replicas 1 192.168.0.11:7001 192.168.0.12:7001 192.168.0.13:7001 192.168.0.11:7002 192.168.0.12:7002 192.168.0.13:7002 

## 切换到src目录下,执行tedis-trib.rb集群管理命令
## replicas 1 表示为集群中的每一个主节点通过创建的先后顺序创建一个从节点

redis-trib.rb需要先安装ruby环境 yum install ruby yum install rubygems

image.png-67.8kB
image.png-81.7kB

集群信息代表意思分别是:

节点id
ip:port
角色(master0 slaver1),主节点的id
节点最后一次返回pong回复的时间
连接次数
节点占有的槽(slot)

image.png-37.9kB

测试

通过./redis-cli -c集群连接模式,set一个key,可以看到,通过crc126算法定位到130这台机器对应的slot,然后存放。
image.png-13.7kB

如果130机器上的master节点宕掉,能否拿到site的值?
image.png-17.4kB
image.png-34.7kB
停掉 130机器的8001 master节点。
image.png-8.2kB
可以看到,并没有收到影响,从129的8002 slave机器上取到了值。

那么停到129的8002呢?
image.png-15.5kB
image.png-7.1kB
可以看到,集群挂掉了。所以结论:**停掉一个master或者slave 服务正常,停掉master
和slave集群挂掉。**

重启这两个节点。
image.png-35.7kB
可以看到,redis通过选举,master身份发生了变化。

遇到的问题

## /usr/bin/env: ruby: No such file or directory
解决:安装ruby环境,**不要直接yum install ruby,redis要求ruby版本2.4以上**使用rvm安装。

## ./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
解决:yum install rubygems

## in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
解决:gem install redis

## 创建集群节点时出错,检查bind修改为0.0.0.0

版权声明:本文由蚂蚁的宝藏创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,转载请注明作者及出处,本文作者为蚂蚁的宝藏,本文标题为动手搭_redis集群,本文链接为http://http://mayibz.me/2018/02/10/%E5%8A%A8%E6%89%8B%E6%90%AD_redis%E9%9B%86%E7%BE%A4/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值