- 在3.0之前,提供了Sentinel工具来监控各Master的状态,如果Master异常,则会做主从切换,将slave切换为master,将master作为slave。
- Redis3.0已经支持集群的容错功能。
- 集群搭建:至少要三个master。
- 创建一个文件夹redis-cluster,然后在其下面分别创建6个文件夹。
- mkdir -p /usr/local/redis-cluster
- mkdir 7001 7002 7003 7004 7005 7006
- 把redis.conf配置文件分别copy到700中,进行修改各个文件内容,也就是对700下的每一个copy的redis.conf文件进行修改。
- daemonize yes
- port 700* (分别对每个机器的端口号进行设置)
- bind 192.168.1.171(必须要绑定当前机器的ip)
- dir /usr/local/redis-cluster/700*/ (指定数据文件存储位置,必须要指定不同的目录位置,不然会丢失数据)
- cluster-enabled yes(启动集群模式)
- cluster-config-file nodes700*.conf(这里700*最好跟port对应上)
- cluster-node-timeout 5000
- appendonly yes
- 把修改后的配置文件,分别copy到各个文件夹下,注意每个文件要修改端口号,并且nodes文件也要补相同。
- 由于redis集群需要使用ruby命令,所以我们要安装ruby。
- yum install ruby
- yum install rubygems
- gem install redis(安装redis和ruby的接口)
- 分别启动6个redis实例,然后检查是否启动成功
- /usr/local/redis/bin/redis-server /usr/local/redis-cluster/700*/redis.conf
- ps -el | grep redis 查看是否启动成功
- 首先到redis的安装目录下,然后执行redis-trib.rb命令
- cd /usr/local/redis/src
- ./redis-trib.rb create --replicas 1 192.168.1.171:7001 192.168.1.171:7002 192.168.1.171:7003 192.168.1.171:7004 192.168.1.171:7005 192.168.1.171:7006
- —replicas 1 表示主节点和从节点的比例,表示1个主节点下有一个从节点
- 进行验证
- 连接任意一个客户端即可:./redis-cli -c -h -p (-c表示集群模式,指定ip地址和端口)如./redis-cli -c -h 192.168.1.171 -p 700*
- 进行验证:cluster info(查看集群信息)、cluster nodes(查看节点列表)
- 进行数据操作验证
- 关闭集群则需要逐个进行关闭,使用命令:/usr/local/redis/bin/redis-cli -c -h 192.168.1.171 -p 700* shutdown
- 补充
- 当出现集群无法启动时,删除临时的数据文件,再次重新启动每一个redis服务,然后重新构造集群环境。
- 创建一个文件夹redis-cluster,然后在其下面分别创建6个文件夹。
- Redis3.0操作集群
- redis集群操作主要命令
- create:构建集群
- fix:单点修复
- check:集群验证
- add-node:添加节点
- del-node:删除节点
- reshard:重新分片
- redis集群操作主要命令