欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Redis3.0集群部署 负载均衡+主从 博客分类: Redis Redis集群负载均衡主从

程序员文章站 2024-03-26 11:16:23
...

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