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

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • redis cluster集群是由多个主从节点群组成的分布式服务器集群,具有复制、高可用和分片特性。不需要哨兵也能...
    love111阅读 4,801评论 0 0
  • (我是利用已经安装过redis的主机上进行集群搭建的) 1、要让集群正常工作至少需要3个主节点,在这里我们要创建6...
    赫灵阅读 4,258评论 0 0
  • redis 主从、sentinel、集群 搭建 编辑:王振威 日期:2018/07/09 ==前言:==1、...
    Impassable_time阅读 4,761评论 0 4
  • 一、Redis简介 1.什么是Redis Redis(Remote Dictionary Server)是一个开源...
    青年心路阅读 1,430评论 0 0
  • 2017.02.16 木 晴 前一天晚上翔翔就计划着要起来煎吐司,于是果然起来,自己在厨房捣鼓,我一起床刷牙后就有...
    ancilapple阅读 1,813评论 0 0