在redis3.0以前,提供了Sentinel工具来监控个Master的状态,如果是Master异常,则会做主从切换,将slave作为master,将master作为slave, 其配置也是稍微的复杂, 并且各方面表现一般, 现在redis3.0 已经支持集群的容错功能,并且非常简单
集群搭建:至少要三个master
第一步:
创建一个文件夹redis-cluster. 然后在其下面分别创建6个文件夹,如下
-- mkdir -p /usr/local/redis-cluster
-- mkdir 7001、mkdir 7002、mkdir 7003、mkdir 7004、mkdir 7005、mkdir 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 //该配置是这里700x最好和port对应上
-- cluster-node-timeout 5000
-- appendonly yes
第三步:
把修改后的配置文件,分别copy到各个文件夹下面,注意每个文件要修改端口号,并且nodes文件也不要相同.
第四步:
由于redis集群需要使用ruby
命令,所以首先要安装ruby
--1 yum install ruby
--2 yum install rubygems
--3 gem install redis //安装redis和ruby的接口
第五步:
分别启动6个redis实例,然后检查是否启动成功,
–1 /usr/local/redis/bin/redis-server /usr/local/redis-cluster/700*/redis.conf
–2 ps -el | grep redis //查看是否启动成功
–3 netstat -tunpl | grep redis //查看总计有多少redis进程
第六步:
首先到redis3.0 的安装目录下,然后执行
redis-trib.rb 命令
--1 cd /usr/local/redis3.0/src
--2 ./redis-trib.rb create --replicas 1 192.168.xxx.xxx:7001 192.168.xxx.xxx:7002 192.168.xxx.xxx:7003 192.168.xxx.xxx:7004 192.168.xxx.xxx:7005 192.168.xxx.xxx:7006
该命令中的 1 表示 为主节点 和从节点数 的比值
第七步:
到此为止我们集群搭建成功,进行验证:
–1 连接任意一个客户端即可 ./redis-cli -c -h -p (-c表示集群模式, 指定ip地址和端口号)
如: /usr/local/redis/bin/redis-cli -c -h 182.168.1.171 -p 700*
–2 进行验证: cluster info //查看集群信息
cluster nodes //查看节点列表
–3 进行数据操作验证
–4 关闭集群则需要逐个进行关闭, 使用命令 usr/local/redis/bin/redis-cli -c -h 192.168.1.171 -p 700* shutdown
**提示:
当出现集群无法启动时, 删除临时的数据文件,再次重新启动每一个redis服务 然后重新构造集群环境,