網站首頁 編程語言 正文
一、首先配置redis的主從同步集群
1、主庫的配置文件不用修改,從庫的配置文件只需增加一行,說明主庫的IP端口。如果需要驗證的,也要加多一行,認證密碼。
slaveof 192.168.20.26 5268
masterauth hodge01
一主多從的話,就啟用多個從庫。其中,從庫都是一樣的方案。本次有兩個slave。
2、命令檢查
/usr/local/redis/bin/redis-cli -p 5257 -a hodge01 info Replication
二、sentinel高可用
1、概況。sentinel是redis自帶的附件,在新的版本redis安裝都有sentinel。sentinel是稱作哨兵的監控機制,當達到一定數量的sentinel投票支持,redis的master就會切換。本次使用docker容器搭建,主要講述配置文件。
2、配置文件。注意:每次要拋棄上一次集群都考檢查配置文件,因為sentinel是靠更改配置文件實現功能的。
監聽端口。
第一行最后的那個2,是說明需要兩個sentinel確認客觀下線,需要切換,才能操作。
如果有需要密碼驗證的,要在這里添加密碼信息,否則不能通訊。
在配置文件后面幾行是啟動后系統自動添加。
3、啟動。
啟動之后,本實驗就是3臺redis,三臺sentinel,sentinel的配置文件自動填寫了sentinel集群和redis集群的信息。因為網絡影響,所以單單憑一臺sentinel之言就隨便切換,所以一般情況需要3臺sentinel以上。
確認5268是master,連接兩個slave。
4、測試。
a、關掉5268redis。
b、檢查4157和5257redis。發現master已經轉移到5257。
c、查看轉移日志。
+failover-state-reconf-slaves master mymaster
…………
+failover-end master mymaster
第一行是確認預先的架構復核標準。
第二行認為5268已經客觀下線。
第三行表示準備重寫主從架構的配置文件。
第四行表示開始重寫。
第五行表示故障切換處理5268完畢.。
第六、七行記錄在sentinel中已經認為4157和5268作為slave已經追隨5257master。
第九行sentinel認為5268已經淪落為slave,但是并不在線。緊接著標記主觀下線。
第十行表示5268重啟后符合slave標準,用“-”移除主觀下線記錄。
但是,查了兩次5257,并沒有發現5268的信息。于是我們查看redis5258的日志,看沒有連上master是怎么回事,反正sentinel那邊已經認為連上。
d、恢復后的redis5268的日志。(異常處理)
NOAUTH Authentication required.
滿滿的認證不成功,已經很明顯告知,5268恢復之后就是slave了,因為此時的5257已經有了密碼,而5268沒有密碼記錄,自然沒有認證成功連上master5257。
所以在redis5268加上在master面前的認證密碼。
masterauth hodge01
e、重啟驗證。
重啟redis5268
檢查redis master5257,發現5268已經連上。
到此為止,sentinel支持的redis高可用集群就全部完成,IP自動切換方面下次探索。
原文鏈接:https://www.cnblogs.com/hodge01/p/8649522.html
相關推薦
- 2022-04-12 python入門之Scrapy?shell的使用_python
- 2022-05-25 SpringCloud和微服務之間的關系
- 2023-10-14 ORACLE存在就修改 不存在就新增(注意更新和新增語法不同于常規語法)
- 2022-04-26 C++?Primer?Plus詳解_C 語言
- 2022-04-12 python?獲取list?長度_python
- 2022-03-29 Python順序結構語句詳解_python
- 2022-03-23 shell中的流編輯器awk工作原理_linux shell
- 2022-08-15 VPP靜態映射實現DNAT
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支