Redis3.0集群部署 负载均衡+主从

Redis3.0正式版本增加了完善的集群功能,下面以Redis3.0.2为例集群部署:

    一、环境:windows7系统 + VMware11虚拟机 + 虚拟机运行操作系统CentOS7 + Redis3.0.2

    二、说明:虚拟机运行6台CentOS7操作系统;前三台(228、229、230)负载均衡,后三台为对应机型的从备份

        192.168.202.228:6379(主)

        192.168.202.229:6379(主)

        192.168.202.230:6379(主)

        192.168.202.231:6379(从)

        192.168.202.232:6379(从)

        192.168.202.233:6379(从)

    三、集群安装流程

        1、redis安装流程

$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz
$ tar xzf redis-3.0.2.tar.gz
$ cd redis-3.0.2
$ make

         2、集群文件配置

            

$ vi redis.conf

port 6379
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000
appendonly yes

         3、运行server

$ cd src
$ ./redis-server ../redis.conf

         4、集群配置

./redis-trib.rb create --replicas 1 192.168.202.228:6379 192.168.202.229:6379
192.168.202.230:6379 192.168.202.231:6379 192.168.202.232:6379 192.168.202.233:6379

         5、客户端调用

$ redis-cli -c -p 6379
redis 192.168.202.228:6379> set foo bar

安装中可能遇到的错误归档:

    1、Ruby环境没有安装错误

/usr/bin/env: ruby: No such file or directory

        解决方法:

$ yum install ruby

  

    2、缺少rubygems组件错误

./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError)
from ./redis-trib.rb:24

        解决方法:

$ yum install rubygems

    3、缺少redis和ruby的接口

/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 install redis

    4、防火墙屏蔽端口问题

    一直停留在当前界面join..........各种点点点

Waiting for the cluster to join....................................

        解决方法:

    关闭防火墙或打开对应的端口,删除每个Redis节点下面cluster-config-file配置的nodes-6379.conf文件,重启Redis服务,再重新运行第四步Redis集群配置 

可能用得到的命令:

1、打开指定端口(下面以80端口为例)

$ iptables -I INPUT -p tcp --dport 80 -j ACCEPT

2、关闭防火墙(以下命令分别为:打开防火墙、关闭防火墙、开机不启动防火墙)

$ systemctl start firewalld.service
$ systemctl stop firewalld.service
$ systemctl disable firewalld.service

参考文档:http://redis.io/topics/cluster-tutorial

猜你喜欢

转载自liumangafei.iteye.com/blog/2226238