Redis: 单机部署Cluster模式集群(redis 4.0

2020-01-16  本文已影响0人  RealityVibe

1. 修改redis.conf配置文件

先从redis文件夹的bin目录下复制6份redis.conf文件

cp ./bin/redis.conf ../../Middleware/redis-cluster/8001/redis.conf
cp ./bin/redis.conf ../../Middleware/redis-cluster/8002/redis.conf
cp ./bin/redis.conf ../../Middleware/redis-cluster/8003/redis.conf
cp ./bin/redis.conf ../../Middleware/redis-cluster/8004/redis.conf
cp ./bin/redis.conf ../../Middleware/redis-cluster/8005/redis.conf
cp ./bin/redis.conf ../../Middleware/redis-cluster/8006/redis.conf

修改内容

port 8001~8006
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

参考:

2. 通过不同的redis.conf配置文件,分别启动6个redis服务

命令行

./bin/redis-server ../../Middleware/redis-cluster/8001/redis.conf
./bin/redis-server ../../Middleware/redis-cluster/8002/redis.conf
./bin/redis-server ../../Middleware/redis-cluster/8003/redis.conf
./bin/redis-server ../../Middleware/redis-cluster/8004/redis.conf
./bin/redis-server ../../Middleware/redis-cluster/8005/redis.conf
./bin/redis-server ../../Middleware/redis-cluster/8006/redis.conf

运行结果

分别启动6个redis服务

3. 创建集群

命令行

参考文章中redis-trib 在redis/bin目录下,而本次操作版本中该程序在redis/bin/src目录下,实际操作中视具体情况而定。

./redis-trib.rb create --replicas 1 192.168.43.110:8001 192.168.43.110:8002 192.168.43.110:8003 192.168.43.110:8004 192.168.43.110:8005 192.168.43.110:8006

// 会出现以下内容
// Can I set the above configuration? (type 'yes' to accept): 
输入yes

运行结果

红框内为输入的内容,黄框内为主从关系(可以通过id判断),

可见建立了主从关系为(M-S)8001-8006, 8002-8004, 8003-8005

创建集群

4. 验证集群关系建立

主节点(Master)

-- 进入8001节点 -c 一定要加,表示开启集群模式 否则会出现从节点无法获取主节点设置的value的Error
> redis-cli -c -h 192.168.43.110 -p 8001

-- 获取节点信息, 
-- 可以发现role:master,表示8001为主节点
-- slave:8006 8001对应的从节点为8006
> info replication

-- 主节点设置key:hello, value: redis
> set hello redis
info replication

从节点(Slave)

-- 进入8006节点 -c 一定要加,表示开启集群模式 否则会出现从节点无法获取主节点设置的value的Error
> redis-cli -c -h 192.168.43.110 -p 8006

-- 获取节点信息, 
-- 可以发现role:slave,表示8006为从节点
-- master:8001 8006对应的主节点为8001
> info replication

-- 验证是否能get主节点设置的值
> get hello
从节点

5. 小坑

如果在第4步中,进入客户端的命令缺少"-c",可能会出现以下异常。

192.168.43.110:8006> get hello
(error) MOVED 866 192.168.43.110:8001
上一篇 下一篇

猜你喜欢

热点阅读