前言
在redis3.0之前,提供了哨兵的机制,即如果主服务器down掉,哨兵会监听到并且通知一个从服务器使其成为主服务器。但是可以通过集群解决这一问题,即分别分配多组不同的主从服务器,并且每次存储的业务数据不同与存储的机器也不一样,也就是真正的分布式系统,大大提高了容错率,由于笔者目前只有两台linux服务器,所以只是在其中一台上通过建立6个目录来模拟集群,真正的集群是将目录换成机器
不多说,实践是检验真理的唯一标准
集群搭建步骤
第一步:创建一个文件夹redis-cluster,然后在其下面分别创建6个文件夹如下:
1.mkdir -p /usr/local/redis-cluster
2.mkdir 1001,mkdir 1002,mkdir 1003,mkdir 1004,mkdir 1005,mkdir 1006
第二步:把之前的redis.conf配置文件分别copy到1001-1006文件夹下,然后需要修改下面信息,
1.daemonize yes 后端启动
2 port 700*(分别对每个机器的端口号设置,注意每个文件夹这里不一样)
- bind 127.0.0.1(绑定当前机器的ip)
- dir /usr/local/redis-cluster/700/(指定数据文件的存放位置,每个文件夹对应不同文件)
5.cluster-enabled yes(启动集群模式)
6.cluster-config-file nodes700.conf(集群的配置文件)
7.cluster-node-timeout 15000 集群失效时间
8.appendonly yes 开启aof日志方式
第三步:安装ruby(针对不同的linux版本,命令不一样)
sudo apt-get install ruby
sudo apt-get install rubygems
gem install redis
第四步:分别启动6个redis实例,然后检查是否启动成功
/usr/local/redis3/bin/redis-server /usr/local/redis-cluster/700*/redis.conf
同时redis的同一个服务,但是对于的redis.conf不同
查看是否启动成功
ps -ef | grep redis
第五步:找到redis的安装目录,在src下找到redis-trib.rb文件
./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
其中参数1是主从对应关系,也就说前面三个是主,后面三个是从,是1:1
第六步:检测集群是否成功
使用命令netstat -tunp | grep redis
如果出现上面几个端口,证明集群成功