Mac 搭建 Redis Sentinel 集群
## 1. 创建目录并启动主从节点
1. 主节点
执行以下命令:
1 | ➜ ~ mkdir redisSentinel |
此时主节点目录已经创建好了,然后,配置主节点配置:
1 | port 8000 |
就简单修改这两个配置好了。
然后自动这个主节点:
1 | ➜ redisSentinel cd master |
检查一下:
1 | ➜ master redis-cli -p 8000 ping |
主节点就好了,接下来创建从节点。
2. 从节点
1 | ➜ master cd .. |
拷贝配置文件到从节点中:
1 | ➜ redisSentinel cp master/redis.conf slave/redis-8001.conf |
这里我们将两个从节点的端口定为 8001 和 8002,然后修改配置。
1 | port 800X |
加入了一个 slaveof 配置,表明该节点的主节点是 127.0.0.1:8000.
然后启动:
1 | ➜ redisSentinel cd slave |
现在主从节点已经关联好了,现在通过 info 命令看看是否成功。
1 | ➜ slave redis-cli -p 8000 info replication |
进入了 8000 主节点中查看,看见 role 是 master,并且有 2 个从节点,8001 和 8002. 成功!
接着开始部署哨兵节点.
2. 部署哨兵节点
首先创建配置文件:
1 | ➜ slave cd .. |
哨兵节点的默认端口是 26739。我们这里弄了 3 个哨兵节点。
然后修改配置文件:
1 | port 26379 |
这里比较关键的是:sentinel monitor mymaster 127.0.0.1 8000 2,这个配置表示该哨兵节点需要监控 8000 这个主节点, 2 代表着判断主节点失败至少需要 2 个 Sentinel 节点同意。
启动 Sentinel 节点:
1 | ➜ sentinel redis-sentinel redis-sentinel-26379.conf |
启动成功后,看看哨兵的相关信息:
1 | ➜ sentinel redis-cli -p 26380 info sentinel |
通过进入 26380 节点,使用 info Sentinel 命令,看到有个 master 节点,名称是 mymaster,地址是我们刚刚配置的 8000, 从节点有 2 个,哨兵有 3 个。
此时一个高可用的 Redis 集群就搭建好了。
当然如果是生产环境,所有实例建议部署在不同的机器上。
部署后的拓扑图如下:

3. 使用 Jedis 测试
先在命令行往主节点写入一条数据:
1 | ➜ cachecloud git:(master) ✗ redis-cli -p 8000 set "hello" "world" |
Jedis 代码测试:
1 | public static void main(String[] args) { |
结果:
1 | world |
成功!!!
4. 总结
Sentinel 节点实际上就是个特殊的 Redis 节点。
回头看看搭建过程:
- 搭建主从节点,通过修改配置文件,关联主从节点。
- 搭建哨兵节点集群,修改配置文件,通过 slaveof 监控主节点。
就好啦。
Mac 搭建 Redis Sentinel 集群
http://thinkinjava.cn/2018/08/08/2018/2018-08-09-Mac 搭建 Redis Sentinel 集群/