1.安装环境
Redis版本:redis-3.2.11.tar.gz
Redis gem版本:redis-3.2.1.gem
redis.clients版本: redis.clients-2.9.0
2.集群搭建介绍
Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。集群中至少应该有奇数个节点,所以至少有三个节点,每个节点至少有一个备份节点,所以下面使用6节点,采用三台虚拟机实现。
- 1.安装redis
解压redis安装包
/develop# tar xzf redis-3.2.11.tar.gz
进入解压完成的redis目录
cd redis-3.2.11/
安装redis
make
make install PREFIX=/usr/andy/redis-cluster
- 2.修改配置文件redis.conf配置文件
1.复制redis配置文件到redis安装路径:/usr/andy/redis-cluster/bin/
cp redis.conf /usr/andy/redis-cluster/bin/
2.进入/usr/andy/redis-cluster/bin/路径,修改bin目录名称,根据需求复制多份
cd /usr/andy/redis-cluster/
mv bin/ redis1
cp -r redis1/ ./redis2 (复制5份,并修改redis.conf配置文件):
3.修改redis.conf配置文件:
1. 屏蔽限制本地访问,在bind 127.0.0.1之前加#(同机器下,可能不需要改,未做测试)
2. protected-mode后的yes改为no
3. daemonize后的no改为yes
4. 去掉cluster-enabled yes前面的#(按Esc键退出i编辑模式,输入/,再输入cluster-enabled,回车,就可以快速找到)
5.去掉cluster-node-timeout 15000前面的#,方法同4)
6. port后的端口号改6次,每次都改成与之前创建的6个包名一致,如7001,每改一次,将redis.conf文件,复制到对应的包下,如7001(端口只要不冲突可以随便改,这里 为了方便管理改成和包名一致)
7. pidfile ./redis_7001.pid //pidfile文件对应7001,7002,7003,7004,7005,
7006(根据当前port端口配置)
8. cluster-config-file nodes_7000.conf //集群的配置 配置文件首次启动自动生成 7001,7002,7003,7004,7005,7006 (根据当前port端口配置)
9. appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
- 3.准备ruby环境(注意:ruby版本环境不得低于2.2.2)
1.Ruby推荐下载rvm ruby环境版本管理器下载安装,执行命令安装rvm
curl -L get.rvm.io | bash -s stable
2.安装rvm
source /etc/profile.d/rvm.sh
3.测试是否安装成功
rvm -v
4.列出已知ruby版本
rvm list known
5.选择执行安装
rvm install 2.4
若未安装成功,安装ruby建议手动下载安装,推荐2.4.4,下载路径: http://www.ruby-lang.org/en/downloads/
安装步骤:
$ cd ruby-2.4.0
$ ./configure
$ make
$ sudo make install
安装成功,配置环境变量:
export RUBY_HOME=/develop/ruby-2.4.4
export PATH=${RUBY_HOME}/bin:$PATH
编译环境生效:
source /etc/profile
ruby环境准备完成,执行:gem install redis
3.构建集群
- 1.启动各个节点下的redis服务
redis6]# ./redis-server redis.conf
查看redis状态
redis6]# ps -ef|grep redis
确保各个节点下的redis为启动状态
- 2.使用redis-trib.rb命令构建集群
/redis-3.2.11/src# ./redis-trib.rb create --replicas 1 172.16.124.139:7001 172.16.124.139:7002 172.16.124.139:7003 172.16.124.139:7004 172.16.124.139:7005 172.16.124.139:7006
4.构建集群成功,查看集群状态。
- 1.连接集群
./redis.cli -c -h 172.16.124.139 -p 7006
- 2.查看集群状态
172.16.124.139:7006> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:8
cluster_my_epoch:5
cluster_stats_messages_sent:4116873
cluster_stats_messages_received:4116873