redis哨兵集配置
redis哨兵集配置
Redis集配置(docker环境)
一主两从三哨兵集,当master节点宕机时,通过哨兵(sentinel)重新推选出新的master节点,保证集的可用性。
集监控:负责监控 Redis master 和 slave 进程是否正常工作
消息通知:如果某个 Redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员
故障转移:如果 master node 挂掉了,会自动转移到 slave node 上
配置中心:如果故障转移发生了,通知 client 客户端新的 master 地址
哨兵选举机制:故障转移时,判断一个 master node 是否宕机了,需要大部分的哨兵都同意才行,涉及到了分布式选举的问题,故集中哨兵数量最好为奇数{、5、7、…}
主从复制:指将一台Redis主节点服务器的数据,复制到其他的Redis从节点服务器
数据冗余:主从复制实现了数据的热备份
故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复
读写分离:master服务主要用来写,slave服务主要用来读数据。可以提高服务器的负载能力,可以根据需求的变化,添加从节点的数量
负载均衡:同时配合读写分离,由主节点提供写服务,从节点提供读服务,分担服务器的负载。在写少读多的情况下,通过多个从节点分担读负载,能够大大提高Redis服务的并发量和负载
#!/bin/bash -v
dir=/docker/redis
if [ ! -d /docker/redis ];then
mkdir -p $dir
else
echo 该文件夹已存在!
fi
version: .7
services:master:image: rediscontainer_name: redis-masterrestart: alwayscommand: redis-server --port 679 --requirepass xxxxx --appendonly yesports:- 679:679volumes:- ./data:/datasentinel1:image: rediscontainer_name: redis-sentinel-1command: redis-sentinel /usr/local/etc/redis/: alwaysports:- 2679:2679volumes:- ./:/usr/local/etc/redis/ ./tmp:/tmp
version: .7
services:slave1:image: rediscontainer_name: redis-slave-1restart: alwayscommand: redis-server --slaveof 192.168.8.155 679 --port 679 --requirepass xxxxxx --masterauth xxxxx --appendonly yesports:- 679:679volumes:- ./data:/datasentinel2:image: rediscontainer_name: redis-sentinel-2command: redis-sentinel /usr/local/etc/redis/: alwaysports:- 2679:2679volumes:- ./:/usr/local/etc/redis/ ./tmp:/tmp
version: .7
services:slave2:image: rediscontainer_name: redis-slave-2restart: alwayscommand: redis-server --slaveof 192.168.8.155 679 --port 679 --requirepass xxxxxx --masterauth xxxxxx --appendonly yesports:- 679:679volumes:- ./data:/datasentinel:image: rediscontainer_name: redis-sentinel-command: redis-sentinel /usr/local/etc/redis/: alwaysports:- 2679:2679volumes:- ./:/usr/local/etc/redis/ ./tmp:/tmp
⭕官当镜像定义redis容器中没有配置文件(),本示例此次搭建部署没有编写,直接在command中添加的启动参数。后续如需配置文件可以通过volumes映射目录(宿主机映射容器内部/etc/redis/)或编写Dockerfile定制自己的redis容器;
port 2679dir /tmp# 自定义集名,其中 192.168.8.155 为 redis-master 的 ip,679 为 redis-master 的端口,2 为最小投票数(因为有 台 Sentinel 所以可以设置成 2)sentinel monitor mymaster 192.168.8.155 679 2sentinel down-after-milliseconds mymaster 0000sentinel parallel-syncs mymaster 1sentinel auth-pass mymaster xxxxxxxsentinel failover-timeout mymaster 180000sentinel deny-scripts-reconfig yes
port 2679dir /tmp# 自定义集名,其中 192.168.8.155 为 redis-master 的 ip,679 为 redis-master 的端口,2 为最小投票数(因为有 台 Sentinel 所以可以设置成 2)sentinel monitor mymaster 192.168.8.155 679 2sentinel down-after-milliseconds mymaster 0000sentinel parallel-syncs mymaster 1sentinel auth-pass mymaster xxxxxxxsentinel failover-timeout mymaster 180000sentinel deny-scripts-reconfig yes
port 2679dir /tmp# 自定义集名,其中 192.168.8.155 为 redis-master 的 ip,679 为 redis-master 的端口,2 为最小投票数(因为有 台 Sentinel 所以可以设置成 2)sentinel monitor mymaster 192.168.8.155 679 2sentinel down-after-milliseconds mymaster 0000sentinel parallel-syncs mymaster 1sentinel auth-pass mymaster xxxxxxxsentinel failover-timeout mymaster 180000sentinel deny-scripts-reconfig yes
三台服务器下执行:docker-compose -f /docker/redis/docker-compose.yml up -d
查看日志:docker-compose logs -f
验证哨兵节点,进入容器docker exec -it redis-sentinel- /bin/bash
进入redis redis-cli -p 2679
验证:info sentinel
👉至此我们的redis哨兵集就搭建完成啦!
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上一篇:文章索引~软件美化
推荐阅读
留言与评论(共有 17 条评论) |
本站网友 短毛猫 | 19分钟前 发表 |
679volumes | |
本站网友 骨髓移植 | 28分钟前 发表 |
- ./ | |
本站网友 金谊广场 | 3分钟前 发表 |
image | |
本站网友 上海高岛屋 | 11分钟前 发表 |
.7 services | |
本站网友 芋头发芽能吃吗 | 15分钟前 发表 |
alwaysports | |
本站网友 不要忘了带套 | 25分钟前 发表 |
alwayscommand | |
本站网友 美容注射除皱 | 0秒前 发表 |
- 679 | |
本站网友 尴尬的早晨 | 17分钟前 发表 |
/tmp version | |
本站网友 毛孔怎么变小 | 22分钟前 发表 |
redis-sentinel /usr/local/etc/redis/ | |
本站网友 股份有限 | 0秒前 发表 |
- 679 | |
本站网友 新疆阿克苏地区 | 5分钟前 发表 |
- 2679 | |
本站网友 北京瑞京糖尿病医院 | 14分钟前 发表 |
rediscontainer_name | |
本站网友 日照交警 | 5分钟前 发表 |
rediscontainer_name | |
本站网友 深圳中航集团 | 16分钟前 发表 |
Redis主从复制的作用 主从复制:指将一台Redis主节点服务器的数据,复制到其他的Redis从节点服务器 数据冗余:主从复制实现了数据的热备份 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复 读写分离:master服务主要用来写,slave服务主要用来读数据 | |
本站网友 举不胜举 | 14分钟前 发表 |
/tmp version | |
本站网友 润城国际 | 15分钟前 发表 |
alwayscommand |