Redis3.x cluster集群部署教程

2017-01-05 11:04:00来源:oschina作者:Smember人点击

第七城市


Redis集群部署文档(_CentOS7_)
要让集群正常工作至少要3个主节点,这里需要创建6个节点,三个节点,三个从节点。(因为硬件资源有限,所以在一台机器上使用不同的端口,来模拟集群模式。)
192.168.31.99:7000
192.168.31.99:7001
192.168.31.99:7002
192.168.31.99:7003
192.168.31.99:7004
192.168.31.99:7005
这里使用 [Redis-3.2.4](http://download.redis.io/releases/redis-3.2.4.tar.gz) 版本,在之前的 _2.x_ 版本中是不支持集群模式的。
上传到服务器,解压然后编译。(我上传的目录是 _/usr/local/locahost/_)cd /usr/local/localhost/
tar -xvf redis-3.2.4.tar.gz
mv redis-3.2.4 redis3
cd redis3
make && make install
安装完成以后,在 _/usr/local/bin/_ 目录下可以看到 _redis-server_,_redis-cli_ 等文件。
创建六个目录用于存储6个 _redis_ 实例的数据和配置。
cd /usr/local/localhost
mkdir cluster
cd cluster
mkdir 7000 7001 7002 7003 7004 7005修改配置文件,首先复制一个 _redis_ 的默认配置文件到集群文件夹中,然后按实际修改。cp /usr/local/localhost/redis3/redis.conf /usr/local/localhost/cluster/
cd /usr/local/localhost/cluster
vi redis.conf
============== 修改各节点共同的配置信息 ===================
daemonize yes # 配置节点以守护进程方式运行,也可以理解为后台运行。
cluster-enabled yes # 开启集群模式
cluster-config-file nodes.conf # 集群配置文件路径
cluster-node-timeout 5000 # 节点超时时间
appendonly yes
protected-mode no # 关闭保护模式
# bind 127.0.0.1 # 注释掉 _ip_ 绑定,否则只有被绑定的 _ip_ 可以访问。
下一步,复制配置文件到各节点文件夹内。
cp /usr/loca/localhost/cluster/redis.conf /usr/local/localhost/cluster/7000/
cp /usr/loca/localhost/cluster/redis.conf /usr/local/localhost/cluster/7001/
cp /usr/loca/localhost/cluster/redis.conf /usr/local/localhost/cluster/7002/
cp /usr/loca/localhost/cluster/redis.conf /usr/local/localhost/cluster/7003/
cp /usr/loca/localhost/cluster/redis.conf /usr/local/localhost/cluster/7004/
cp /usr/loca/localhost/cluster/redis.conf /usr/local/localhost/cluster/7005/
修改各节点下 _redis.conf_ 中的 _port_ 参数,值与个文件夹的名字相同。
下一步,分别启动这个六个实例。cd /usr/local/localhost/cluster/7000/
redis-server redis.conf
cd /usr/local/localhost/cluster/7001/
redis-server redis.conf
cd /usr/local/localhost/cluster/7002/
redis-server redis.conf
cd /usr/local/localhost/cluster/7003/
redis-server redis.conf
cd /usr/local/localhost/cluster/7004/
redis-server redis.conf
cd /usr/local/localhost/cluster/7005/
redis-server redis.conf
启动之后,查看 _redis_ 的运行情况,使用 _ps -ef | grep redis_ 命令,如下图所示。
![](/2014th7cj/d/file/p/20170104/jx1seqblu44.png "")
下一步,创建集群
cd /usr/local/localhost/redis3/src/
./redis-trib.rbcreate --replicas 1 192.168.31.99:7000 192.168.31.99:7001 192.168.31.99:7002 192.168.31.99:7003 192.168.31.99:7004 192.168.31.99:7005
执行上面的命令的时候可能会报错,因为是执行的ruby的脚本,需要ruby的环境
错误内容:/usr/bin/env: ruby: No such file or directory
所以需要安装ruby的环境,这里推荐使用yum install ruby安装
yum install ruby
然后再执行创建集群命令,还会报错,提示缺少rubygems组件,使用yum安装错误内容:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)from ./redis-trib.rb:24
yum install rubygems
再次执行创建集群命令
![](/2014th7cj/d/file/p/20170104/kewfir2onps.png "")
提示创建策略是否正确,输入 _yes_
出现下图中的 _OK_ 则集群创建成功
![](/2014th7cj/d/file/p/20170104/3ib5flg0pc1.png "")至此 _redis_ 集群搭建成功,使用命令 _redis-cli -c -p 7000 -h 192.168.31.99_ 进入集群环境。
PS:集群中不能设置密码,不然在执行创建集群命令的时候无法创建成功。另外,如果使用 _Java_ 中的 _Jedis_ 操作群集,也会出现问题。暂时来说,_Jedis_ 不支持密码操作,所以,即使在集群启动成功后,可以设置密码,但是 _Jedis_ 也是不支持的。
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台