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
网友评论