RedisCluster 搭建
一、安装redis:
$ wget http://download.redis.io/releases/redis-3.2.11.tar.gz
$ tar xzf redis-3.2.11.tar.gz
$ cd redis-3.2.11
$ make
二、创建集群目录:
mkdir /opt/app/redisCluster
cd /opt/app/redisCluster
mkdir node16379
mkdir node16380
mkdir node16381
mkdir node16382
cp /opt/app/redis/3.2.11/redis.conf /opt/app/redisCluster
vi redis.conf
#修改的内容省略,详情见redis-config配置
#修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到16379/16380/16381/16382目录下面
创建配置文件 ~/redis-cluster/redis.conf,内容如下:
port 7001
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
文件中的 cluster-enabled 选项用于开实例的集群模式, 而 cluster-conf-file 选项则设定了保存节点配置文件的路径, 默认值为 nodes.conf。该节点配置文件无须人为修改,它由Redis集群在启动时自动创建, 并在有需要时自动进行更新。
四、启动redis实例
redis-server /opt/app/redisCluster/node16379/redis.conf
redis-server /opt/app/redisCluster/node16380/redis.conf
redis-server /opt/app/redisCluster/node16381/redis.conf
redis-server /opt/app/redisCluster/node16382/redis.conf
#启动之后使用命令查看redis的启动情况ps -ef|grep redis
五、执行redis的创建集群命令创建集群
redis-trib.rb create --replicas 0 127.0.0.1:16379 127.0.0.1:16380 127.0.0.1:16381 127.0.0.1:16382
# --replicas 1 从节点数
说明:
这里的IP地址必须是真实的IP,不能使用回环 127.0.0.1 地址。我这里只是一个做个演示
–replicas 1 即每一个master有1个slave;顺序为 m m m s s s
redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中,让各个节点开始互相通讯。
输入yes,然后配置完成。
以上信息的其中一部分可以通过向集群中的任意节点(主节点或者从节点都可以)发送 CLUSTER NODES 命令来获得。该命令还可以获得节点 ID , IP 地址和端口号, 标志(flag), 最后发送 PING 的时间, 最后接收 PONG 的时间, 连接状态, 节点负责处理的槽。
六、执行上面的命令的时候会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
yum install ruby
#查看ruby版本
ruby -v
七、然后再执行第5步的创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装
错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24
所以需要安装rubygems的环境,这里推荐使用yum install rubygems安装
yum install rubygems
#查看gem版本
gem -v
八、再次执行第5步的命令,还会报错,提示不能加载redis,是因为缺少redis和ruby的接口,使用gem 安装
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./redis-trib.rb:25
所以需要安装gem-redis的环境,这里推荐使用gem install redis --version 3.0.0安装
gem install redis --version 3.0.0
注意:gem install redis --version 3.0.0 失败的话,需要修改一下gem的源
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem install redis --version 3.0.0
九、若在线安装失败,可以选择离线安装,方法如下:
1、离线安装ruby:
$ tar xzf ruby-2.0.0-p647.tar.gz
$ cd ruby-2.0.0-p647
$ ./configure
$ make
# ruby安装root权限,此安装包自动安装rubygem
$ sudo make install
2、离线安装gem-redis:version(3.0.0)
gem install redis --version 3.0.0
#由于源的原因,可能下载失败,就手动下载下来安装
#download地址:http://rubygems.org/gems/redis/versions/3.0.0
gem install -l /opt/app/redis/redis-3.0.0.gem
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">