- CentOS 6.8
- redis-3.2.8
- server1 192.168.88.42
- server2 192.168.88.43
- 参考教程
-
安装redis,需要注意的是,一般将源码安装的软件放在 /usr/local 下,这里 usr 是 Unix System Resource 的意思。
[root@localhost src]# cd /usr/local/ [root@localhost local]# wget http://download.redis.io/releases/redis-3.0.6.tar.gz [root@localhost local]# tar xzf redis-3.0.6.tar.gz [root@localhost local]# cd redis-3.0.6 [root@localhost redis-3.0.6]# make [root@localhost redis-3.0.6]# install
-
创建集群需要的目录
//server1 mkdir -p /usr/local/cluster cd /usr/local/cluster mkdir 7000 mkdir 7001 mkdir 7002 //server2 mkdir -p /usr/local/cluster cd /usr/local/cluster mkdir 7003 mkdir 7004 mkdir 7005
-
将redis安装目录下的配置文件,redis.conf,复制到以上6个文件夹,分别修改
port 7000 daemonize yes cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000
-
分别启动6个redis实例
//关掉redis pkill redis-server //启动redis redis-server /usr/local/cluster/7000/redis/conf //查看redis是否启动成功 ps -ef | grep redis
-
创建集群,由于这是一个ruby脚本,因此需要有ruby环境
//安装 ruby yum install ruby //报错 'no such file to load -- redis' gem isntall redis //创建集群 ./redis-trib.rb create --replicas 1 192.168.88.42:7000 192.168.88.42:7001 192.168.88.42:7002 192.168.88.43:7003 192.168.88.43:7004 192.168.88.43:7005
-
上一步如果出现 could not correct port 的错误,有以下两种方式解决
Redis listens for connections from all the network interfaces available on the server.
- 逐个修改配置文件,redis 真正 bind 的是所在服务器网卡的ip,因此不能把43的ip填到这里
###### NETWORK ###### //注释掉 bind 127.0.0.1 //关闭安全模式 protected-mode yes
- 防火墙的问题
//查看默认防火墙配置/ iptables -L //以下表示防火墙没有任何规则 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination //清空规则 iptables -F //保存防火墙规则 service iptables save
- 逐个修改配置文件,redis 真正 bind 的是所在服务器网卡的ip,因此不能把43的ip填到这里
-
创建集群完成