当前位置:网站首页>docker+bridge+redis master-slave+sentry mode
docker+bridge+redis master-slave+sentry mode
2022-08-04 03:05:00 【that's the name】
docker+网桥+redis主从+哨兵模式
I'm experimenting on two servers,一台服务器的ip是192.168.213.144,另一台服务器的ip是192.168.213.145
1. build a bridge
For the first part of building a bridge, you can refer to my blog,will be a little more detailed,https://blog.csdn.net/weixin_45753881/article/details/125973566
1.1 新建网桥
给主机192.168.213.144 The network segment assigned by the bridge is 172.20.144.0/24
给主机192.168.213.145 The network segment assigned by the bridge is 172.20.145.0/24
#在主机144上执行
docker network create --subnet=172.20.144.0/24 --gateway 172.20.144.1 redisbridge
#在主机145上执行
docker network create --subnet=172.20.145.0/24 --gateway 172.20.145.1 redisbridge
1.2 添加路由
#在主机144上执行
route add -net 172.20.144.0/24 gw 172.20.144.1
#在主机145上执行
route add -net 172.20.145.0/24 gw 172.20.145.1
1.3 配置iptables规则
#在主机144上执行
iptables -t nat -I PREROUTING -s 172.20.144.0/24 -d 172.20.145.0/24 -j DNAT --to 172.20.144.1
#在主机145上执行
iptables -t nat -I PREROUTING -s 172.20.145.0/24 -d 172.20.144.0/24 -j DNAT --to 172.20.145.1
2. 配置redis.conf
2.1 下载redis.conf(主机144和主机145都执行)
# 如果没有安装yum,需要先安装yum
yum -y install wget
# 下载redis.conf,下载路径为/root/redis.conf,You can also download to other paths,Remember to run createdocker容器命令(步骤3.1和3.2)Also change it to the address where you downloaded it
wget http://download.redis.io/redis-stable/redis.conf
# 在服务器的/root目录下创建redis.log文件,Other paths are also possible,Remember to run createdocker容器命令(步骤3.1和3.2)Also change it to the address you set
touch redis.log
# 给redis.log赋予权限
chmod 777 redis.log
2.2 配置redis.conf
2.2.1 配置redis主的redis.conf(主机144)
(1)注释 # bind 127.0.0.1
(2)关闭保护模式 protected-mode no
(3)(可选)设定密码 requirepass yourpwd
(4)配置日志路径,为了便于排查问题 logfile “/var/log/redis/redis.log”
# bind 127.0.0.1
protected-mode no
requirepass yourpwd
logfile "/var/log/redis/redis.log"
2.2.2 配置redis从的redis.conf(主机145)
(1)注释 # bind 127.0.0.1
(2)关闭保护模式 protected-mode no
(3)(可选)设定密码 requirepass yourpwd
(4)配置日志路径,为了便于排查问题 logfile “/var/log/redis/redis.log”
(5)配置主库的ip和端口 replicaof 192.xxx.xxx.xxx 6379
192.xxx.xxx.xxx It is the server where the main library is locatedip,6379 是主库redis端口
(6)(视情况而定)If the master library is configured with a password,Then fill in the main library password here;If the main library does not set a password,就不用配 masterauth 主库密码
# bind 127.0.0.1
protected-mode no
requirepass yourpwd
logfile "/var/log/redis/redis.log"
replicaof 192.xxx.xxx.xxx 6379 # Remember to replace hereip
masterauth 主库密码
3. 部署redis主从
3.1 部署redis主节点
# --network redisbridge is the bridge used
# -e TZ=Asia/Shanghai 设置时区
docker run --network redisbridge --name redis_master --restart=always -e TZ=Asia/Shanghai -v /root/redis.conf:/usr/local/etc/redis/redis.conf -v /root/redis.log:/var/log/redis/redis.log -d -p 6379:6379 redis:7.0.4 redis-server /usr/local/etc/redis/redis.conf
3.2 部署redis从节点
docker run --network redisbridge --name redis_slave --restart=always -e TZ=Asia/Shanghai -v /root/redis.conf:/usr/local/etc/redis/redis.conf -v /root/redis.log:/var/log/redis/redis.log -d -p 6379:6379 redis:7.0.4 redis-server /usr/local/etc/redis/redis.conf
3.3 查看主从
# 进入redis从节点
docker exec -it redis_slave redis-cli
# 如果redis配置了密码,Password verification is performed,If the verification is passed, it will be printedOK
auth 密码
# info进行查看
info
4. 配置哨兵
4.1 配置sentinel.conf(Executed on all hosts)
# 下载sentinel.conf到/root路径下,You can also download to other paths,Remember to run createdocker容器命令(步骤4.2.1和4.2.2)Also change it to the address where you downloaded it
wget http://download.redis.io/redis-stable/sentinel.conf
# 在服务器的/root目录下创建sentinel.log文件,Other paths are also possible,Remember to run createdocker容器命令(步骤4.2.1和4.2.2)Also change it to the address you set
touch sentinel.log
# sentinel.log赋予权限
chmod 777 sentinel.log
修改sentinel.conf以下几项
# 编辑sentinel.conf,进行以下配置,这里ip改成自己的服务器地址
sentinel monitor mymaster 192.168.213.144 6379 1
# 修改日志文件的路径
logfile "/var/log/redis/sentinel.log"
# 修改监控的主redis服务器,最后一个1表示,1After each machine determines that the active and passive are offline,就进行failover(故障转移)
sentinel monitor mymaster 192.168.213.144 6379 2
4.2 创建sentinel容器
4.2.1 在redisExecuted on the host where the master node is located
docker run --network redisbridge --name sentinel_master --ip 172.20.144.3 -p 26379:26379 --restart=always -e TZ=Asia/Shanghai -v /root/sentinel.conf:/usr/local/etc/redis/sentinel.conf -v /root/sentinel.log:/var/log/redis/sentinel.log -d redis:7.0.4 redis-sentinel /usr/local/etc/redis/sentinel.conf
4.2.2 在redisExecute from the host where the node is located
docker run --network redisbridge --name sentinel_slave --ip 172.20.145.3 -p 26379:26379 --restart=always -e TZ=Asia/Shanghai -v /root/sentinel.conf:/usr/local/etc/redis/sentinel.conf -v /root/sentinel.log:/var/log/redis/sentinel.log -d redis:7.0.4 redis-sentinel /usr/local/etc/redis/sentinel.conf
4.3 测试哨兵
(1)停掉redis主节点,等30秒后,进入redisUse from nodeinfoCheck whether the slave node is switched to the master node
(2)Also available on the server/root路径下使用cat sentinel.log查看日志(/root/sentinel.logis configured in the previous step)
边栏推荐
- C program compilation and predefined detailed explanation
- [QNX Hypervisor 2.2用户手册]10.3 vdev gic
- flinkcdc 消费 mysql binlog 没有 sqltype=delete 的数据是什么原
- MySQL 查询练习(1)
- Development of Taurus. MVC WebAPI introductory tutorial 1: download environment configuration and operation framework (including series directory).
- Good bosses, please ask the flink CDC oracle to Doris, found that the CPU is unusual, a run down
- 全网没有之一的JMeter 接口测试流程详解
- 一个属于程序员的七夕节!
- The keytool command
- 6口全千兆二层网管型工业以太网交换机千兆2光4电光纤自愈ERPS环网交换机
猜你喜欢
倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即
[Study Notes Dish Dog Learning C] Dynamic Memory Management
【医保科普】维护医保基金安全,我们可以这样做
STM8S项目创建(STVD创建)---使用 COSMIC 创建 C 语言项目
第08章 索引的创建与设计原则【2.索引及调优篇】【MySQL高级】
STM8S105k4t6c---------------Light up LED
y86.第四章 Prometheus大厂监控体系及实战 -- prometheus存储(十七)
Brush esp8266-01 s firmware steps
【观察】超聚变:首提“算网九阶”评估模型,共建开放繁荣的算力网络
Ant - the design of the Select component using a custom icon (suffixIcon attribute) suffixes, click on the custom ICONS have no reaction, will not display the drop-down menu
随机推荐
KingbaseES数据库启动失败,报“内存段超过可用内存”
mpf5_定价Bond_yield curve_Spot coupon_duration_有效利率_连续复利_远期_Vasicek短期_CIR模型Derivatives_Tridiagonal_ppf
pytorch应用于MNIST手写字体识别
Zabbix set up email alert + enterprise WeChat alert
大佬们,读取mysql300万单表要很长时间,有什么参数可以优惠,或者有什么办法可以快点
The general SQL injection flow (sample attached)
织梦响应式酒店民宿住宿类网站织梦模板(自适应手机端)
安装postgis时报找不到“POSTGIS_VERSION”这个函数
sqoop ETL工具
Pine脚本 | 如何显示和排版绘图开关?
P3384 【模板】轻重链剖分/树链剖分
C# 构造函数业务场景测试项目
yum 仅下载包
阿里云国际版基于快照与镜像功能迁移云服务器数据
出海季,互联网出海锦囊之本地化
编写 BOLL 心得体会
哎,又跟HR在小群吵了一架!
架构实战营模块三作业
[Playwright Test Tutorial] 5 minutes to get started
Returns the maximum number of palindromes in a string