Redis3.0集群部署 负载均衡+主从 博客分类: Redis Redis集群负载均衡主从
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