redis3.0的一大特性就是增加了对集群的支持。目前最新的稳定版本为3.2.8。
1.Redis集群中主从复制架构
1.1集群使用主从架构的好处
- 在集群中使用主从莫事实现某节点的高可用,当有master宕机后,该节点的从库(slave)会转变为主库(master),继续完成集群服务
- 客户端与redis节点进行直连,不需要中间的代理层,客户端只需要连接集群中的任意一个节点即可。
- 所有的节点彼此互联,内部使用二进制协议优化传输速度和带宽。
2.集群环境的搭建
2.1安装Redis3.0
- 这里介绍的是使用源码安装,所以首先要安装相应的依赖:
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc++-devel tcl
- 建立redis的安装文件夹
mkdir -p /apps/redis
cd /apps/redis
- 下载redis并安装
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
tar -xvf redis-3.0.7.tar.gz
cd redis-3.0.7
make
make install
2.2安装ruby环境
- redis-trib.rb是使用ruby语言编写的,需要安装ruby环境
yum install zlib ruby rubygames
gem install redis
2.3集群配置
- 创建6379、6380、6381、6479、6480、6481六个文件夹,并将redis.conf分别拷贝到这三个文件夹。其中后三个为前三个的Slave。
- 修改redis.conf,设置 daemonize yes ,配置redis默认后台启动。分别修改port为以上三个端口
- 开启集群 cluster-enabled yes 并去掉 cluster-config-file前面的注释。
2.4启动集群
cd /apps/redis/redis-3.0.7/src
redis-server /apps/redis/6379/redis.conf
redis-server /apps/redis/6380/redis.conf
redis-server /apps/redis/6381/redis.conf
./redis-trib.rb create --replicas 1 {your host}:6379 {your host}:6380 {your host}:6381 {your host}:6479 {your host}:6480 {your host}:6481
这里redis的六个节点可以配置到不同的机器上,配置相应的ip即可。