环境:
主机1 192.168.2.204
主机2 192.168.2.201
步骤:
安装redis
参考 初试redis主从同步
主机1 启动3台redis
mkdir /install/redisconf /install/redisconf/7000 /install/redisconf/7001 /install/redisconf/7002
cp /install/redis/redis.conf /install/redisconf/7000
cp /install/redis/redis.conf /install/redisconf/7001
cp /install/redis/redis.conf /install/redisconf/7002
修改三个配置文件
port 7000(7001/7002)
bind 192.168.2.204
daemonize yes
pidfile /var/run/redis_7000(7001/7002).pid
cluster-enabled yes
cluster-config-file nodes_7000(7001/7002).conf
appendonly yes
redis-server /install/redisconf/7000/redis.conf
redis-server /install/redisconf/7001/redis.conf
redis-server /install/redisconf/7002/redis.conf
![](https://img.haomeiwen.com/i6950036/58b73c5ae1b40698.png)
主机2同上开启三个redis分别为7003、7004、7005
![](https://img.haomeiwen.com/i6950036/10d878040a33b9ef.png)
创建集群
cp /download/redis-3.2.1/src/redis-trub.rb /usr/local/bin
主从对应
$ruby redis-trib.rb create --replicas 1 192.168.2.204:7000 192.168.2.204:7001 192.168.2.204:7002 192.168.2.201:7003 192.168.2.201:7004 192.168.2.201:7005
此处报错
![](https://img.haomeiwen.com/i6950036/f63c007036253001.png)
因为ruby没有安装 另外 此处有坑,ruby需安装1.8以上版本,否则需要安装gem
cd /soft
wget https://cache.ruby-china.org/pub/ruby/ruby-2.4.1.tar.gz
tar zxvf ruby-2.4.1
cd ruby-2.4.1
./configure --with-openssl-dir=/usr/local/ssl
make && make install
cp /usr/local/bin/ruby /usr/bin
重新执行
$ruby redis-trib.rb create --replicas 1 192.168.2.204:7000 192.168.2.204:7001 192.168.2.204:7002 192.168.2.201:7003 192.168.2.201:7004 192.168.2.201:7005
再次报错
Waiting for the cluster to join......................................................................................................................
...........................................................
检查防火墙接口正常
![](https://img.haomeiwen.com/i6950036/9fe1b98e7e76120c.png)
![](https://img.haomeiwen.com/i6950036/483fd64fd5f0ece1.png)
原来 redis 集群创建的时候会默认使用集群端口来通信,端口号为对应redis通信接口+10000 于是 开启防火墙
![](https://img.haomeiwen.com/i6950036/51dd65c8b6de7a18.png)
![](https://img.haomeiwen.com/i6950036/9edd25c1cffaf48c.png)
再次执行
$ruby redis-trib.rb create --replicas 1 192.168.2.204:7000 192.168.2.204:7001 192.168.2.204:7002 192.168.2.201:7003 192.168.2.201:7004 192.168.2.201:7005
![](https://img.haomeiwen.com/i6950036/e43973dc03b19875.png)
至此集群搭建成功
增加master节点
配置文件同上
![](https://img.haomeiwen.com/i6950036/ab5f4cdafae2e85b.png)
删除这两个文件
![](https://img.haomeiwen.com/i6950036/d166c9ac0fad8a4d.png)
重新执行
![](https://img.haomeiwen.com/i6950036/abc951e8aad66099.png)
为新节点分配 slot
redis-trib.rb reshard 192.168.2.204:7007
![](https://img.haomeiwen.com/i6950036/d3e0c7bbb7e1e7e0.png)
增加slave节点
redis-trib.rb add-node --slave --master-id d8153430246886589ec68436c4ccfb7770c003ad 192.168.2.201:7006 192.168.2.204:7000
redis-trib.rb check 192.168.2.201:7006
![](https://img.haomeiwen.com/i6950036/b88f03bd3b3d8d9c.png)
网友评论