MHA集群

一.MHA集群

MHA master high avavibility 主服務器高可用

如上圖所示,我們之前說過,如果在主從復制架構中主服務器出現故障,就需要我們將從服務器作為主服務器,等故障的主服務器修復好之后,再將修好的主服務器作為從服務器連接到主服務器中。

此時我們進行這個操作的時候,會有一個時間間隔。

MHA的作用就相當于是一個監控一樣,MHA搭建好之后,就可以實時的監控主服務器的運行狀態。

一旦檢測到主服務器發生故障之后,MHA就會在現有的從服務器中提升一個從服務器作為主服務器,并且MHA還能將之前的從服務器自動連接到新的主服務器上,MHA主要適用的是一主多從的環境,

應用場景:一主多從的環境

作用:提升主從復制環境中主服務器的可用性,盡量減少故障時間,

周期性檢測主服務器的運行狀態,一旦檢測到主服務器故障后,會在現有的從服務器中選舉一個新主服務器,并把其他的從服務器自動連接到新主服務器上,繼續維持主從復制的運行,

問題:將來一主多從的環境中主服務器故障的時候,將哪個從服務器提升為主服務器?

在主從復制中一直存在的是時間延遲的問題,將來在數據量很大的情況下,我們就要看哪個從服務器復制的數據最多,我們就將那個從服務器作為新的主服務器,

如上圖所示,我們如何去查看哪個從服務器復制的數據多呢?

show slave status\G

我們就去看這行數據,哪個從服務器的這行數據大,就表示復制的數據多,。

同時MHA會嘗試記錄主服務器的二進制日志信息,將來在新選舉出來的主服務器上自動應用二進制日志信息,確保數據的完整性會將其他slave服務器自動連接到新的master服務器對于前端應用程序全是透明的。【如果檢測不到舊的主服務器的二進制日志文件,那就需要人為干預了,人為獲取舊主服務器二進制日志文件內容,】

MHA也可以做集群,來避免MHA的單點故障。

MHA角色:

1.mha-manager? mha管理者

建議將其部署在獨立的服務器上,用于檢測主服務器的運行狀態

2.mha-node mha客戶端

部署所有數據庫服務器上,具體作用是mha管理者與所有機器來進行通信。

二.部署MHA集群

環境描述:

192.168.183.10? ? ? ? ? MHA? Manager? +MHA? node

192.168.183.11? ? ? ? ? ?master服務器? ? mha_node

192.168.183.12? ? ? ? ? ?slave服務器? ? mha_node

192.168.183.13? ? ? ? ? ?slave服務器? ? ? mha_node

1.關閉防火墻? selinux? 時間同步

2.配置免密ssh

如上圖所示,在生成密鑰以后,將這個公鑰文件夾的名字進行修改,改成ssh認證服務要求的名字,隨后將整個文件夾拷貝給其他的機器。

在mha 管理者上生成密鑰,隨后將這個密鑰拷貝給其他的機器。

3.添加所有機器上添加所有主機名解析。

如上圖所示,在一臺mha管理者的機器上添加好主機名解析之后,將這個文件拷貝給其他的機器,。

4.確保所有機器時間同步

如上圖所示,檢測所有機器時間同步

5.在mha管理機上安裝mha相關軟件

使用阿里的epel源。

如上圖所示,在管理機上安裝如上的兩個軟件。

6.在所有數據庫服務器上安裝mha4mysql-node軟件

7.配置一主兩從環境

1)在所有數據庫服務器上啟用二進制日志

在所有機器上將MySQL數據庫安裝好,即命令yum? install -y? mariadb-server

如上圖所示,第一是在配置一主兩從的環境中所有機器必須要啟動二進制日志,

如上圖所示,給每一個機器去配置server_id以及開啟二進制日志,以及開啟和自啟動數據庫。

第二創建允許所有主機遠程連接的復制用戶

如上圖所示,在主服務器上創建好遠程復制用戶之后,分別在12和13的機器上去建立連接,去鏈接11這個主服務器。

3)配置從服務器連接主服務器,確保三臺服務器都有遠程復制用戶。

如上圖所示,這是在12的機器上創建連接,隨后啟動復制線程,隨后使用show slave status\G 來查看復制線程狀態。

如上圖所示,如果在 從服務器上創建的連接操作沒有錯誤的話,那么在主服務器上創建的用戶就會在從服務器上也創建出來,。

如上圖所示,我們也在這個機器上連接與主服務器的連接,然后啟動復制線程,去使用命令show slave? status\G來去查看復制線程狀態。

8.創建MHA需要的管理用戶

如上圖所示,這是在主服務器創建4個用戶,管理用戶需要有4個,允許MHA集群中的任何一個機器去連接他們。

9.創建mha? manager工作目錄

10.編輯mha的配置文件

如上圖所示,這就是MHA的配置文件。

如上圖所示,這是MHA的配置文件。

11.檢測免密ssh是否正常

12.檢測一主兩從環境是否正常

?

如上圖所示,可以看到MySQL復制環境是好的,

13.啟動MHA集群

14.驗證MHA集群

一旦MHA完成一次選舉之后MHA進程自己就停止了。

如上圖所示,MHA進程停止,

如上圖所示,只有當故障的主服務器被修好,作為從服務器連接到主服務器之后,MHA進程才能恢復正常,

15.修復故障的主機,將其作為從服務器連接到主服務器上,

如上圖所示,在新主服務器上進行一個完全的數據備份,

隨后將這個備份拷貝給11的機器。

如上圖所示,在從服務器上建立指向主服務器的連接。

隨后在從服務器上啟動IO線程和SQL線程,

隨后在mha的機器上啟動mha線程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71612.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71612.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71612.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

10 【HarmonyOS NEXT】 仿uv-ui組件開發之Avatar頭像組件開發教程(一)

溫馨提示:本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦! 目錄 第一篇:Avatar 組件基礎概念與設計1. 組件概述2. 接口設計2.1 形狀類型定義2.2 尺寸類型定義2.3 組件屬性接口 3. 設計原則4. 使用…

微信小程序+SpringBoot的單詞學習小程序平臺(程序+論文+講解+安裝+修改+售后)

感興趣的可以先收藏起來,還有大家在畢設選題,項目以及論文編寫等相關問題都可以給我留言咨詢,我會一一回復,希望幫助更多的人。 系統背景 (一)社會需求背景 在全球化的大背景下,英語作為國際…

鴻蒙HarmonyOS評論功能小demo

評論頁面小demo 效果展示 1.拆解組件,分層搭建 我們將整個評論頁面拆解為三個組件,分別是頭部導航,評論項,回復三個部分,然后統一在index界面導入 2.頭部導航界面搭建 Preview Component struct HmNavBar {// 屬性&a…

解析 SQL,就用 sqlparse!

文章目錄 解析 SQL,就用 sqlparse!一、背景:為什么你需要 sqlparse?二、什么是 sqlparse?三、如何安裝 sqlparse?四、簡單易用的庫函數1\. parse(sql)2\. format(sql, **options)3\. split(sql)4\. get_typ…

點云軟件VeloView開發環境搭建與編譯

官方編譯說明 LidarView / LidarView-Superbuild GitLab 我的編譯過程: 安裝vs2019,windows sdk,qt5.14.2(沒安裝到5.15.7),git,cmake3.31,python3.7.9,ninja下載放到…

【一文學會 HTML5】

目錄 HTML概述基本概念HTML 發展歷程HTML 基本結構 網頁基本標簽標題標簽&#xff08;<h1> - <h6>&#xff09;段落標簽&#xff08;<p>&#xff09;換行標簽&#xff08;<br>&#xff09;水平線標簽&#xff08;<hr>&#xff09;注釋&#xff0…

Spring Boot面試問答

1. Spring Boot 基礎知識 問題 1:什么是Spring Boot?它與Spring框架有何不同? 回答: Spring Boot是基于Spring框架的一個開源框架,旨在簡化新Spring應用的初始化和開發過程。與傳統的Spring框架相比,Spring Boot提供了以下優勢: 自動配置:根據項目依賴自動配置Spring…

DeepSeek系列模型技術報告的閱讀筆記

DeepSeek系列模型技術報告的閱讀筆記 之前仔細閱讀了DeepSeek系列模型的主要技術方面內容與發展脈絡&#xff0c;以下是DeepSeek系列模型技術報告的筆記&#xff0c;有錯誤的地方歡迎指正&#xff01; 文章目錄 DeepSeek系列模型技術報告的閱讀筆記GQADeepseek MoEAbstractIn…

MyBatis @Param 注解詳解:多參數傳遞與正確使用方式

Param 注解主要用于 MyBatis 進行參數傳遞時給 SQL 語句中的參數 起別名&#xff0c;通常用于 多參數 方法&#xff0c;使參數在 XML Mapper 文件或注解 SQL 語句中更清晰易用。 1. 基本用法 在 Mapper 接口中使用 Param 來為參數命名&#xff0c;避免 MyBatis 解析時出現參數…

OpenBMC:BmcWeb connect讀取http請求

OpenBMC:BmcWeb構造connect對象-CSDN博客 OpenBMC:BmcWeb server.run-CSDN博客 1.構造了connect對象后,通過connection->start()開始處理來自客戶端的請求 //http\http_connection.hpp void start() {...startDeadline();readClientIp();boost::beast::async_detect_ssl…

SparkStreaming之04:調優

SparkStreaming調優 一 、要點 4.1 SparkStreaming運行原理 深入理解 4.2 調優策略 4.2.1 調整BlockReceiver的數量 案例演示&#xff1a; object MultiReceiverNetworkWordCount {def main(args: Array[String]) {val sparkConf new SparkConf().setAppName("Networ…

軟考初級程序員知識點匯總

以下是計算機技術與軟件專業技術資格&#xff08;水平&#xff09;考試&#xff08;簡稱“軟考”&#xff09;中 程序員&#xff08;初級&#xff09; 考試的核心知識點匯總&#xff0c;涵蓋考試大綱的主要方向&#xff0c;幫助你系統復習&#xff1a; 一、計算機基礎 計算機組…

Gauss數據庫omm用戶無法連接處理

確保gauss數據庫服務已經打開 重啟gauss服務 gs_om -t restart 連接gauss gsql -d postgres -p 26000 -r 結果發現 查看數據庫運行情況 gs_om -t status --detail 我們可以看到 cluster_state 的值是 Unavailable 不可用 那么問題大概率是出現在了這里 然后我們再查看一…

36-Openwrt wifi命令工具iwconfig、iwinfo、iwpriv、iwlist

增對wifi的調試命令有很多,這邊列出我們常用的命令提供參考,方便查看信息定位問題。 1、iwconfig 查看當前 WIFI 的工作信道以及工作帶寬模式: root@openwrt:/# iwconfig ra0 ra0 mt7603e ESSID:"openwrt" Mode:Managed Channel:8 Access Point: DC:4B…

Android 低功率藍牙之BluetoothGattDescriptor詳解

BluetoothGattDescriptor 詳解 BluetoothGattDescriptor 是 Android 中用于表示藍牙低功耗&#xff08;BLE&#xff09;設備中 GATT&#xff08;Generic Attribute Profile&#xff09;描述符 的類。描述符是 GATT 架構中的一種屬性&#xff0c;用于提供關于 特征值&#xff0…

計算機畢業設計Python+DeepSeek-R1大模型醫療問答系統 知識圖譜健康膳食推薦系統 食譜推薦系統 醫療大數據(源碼+LW文檔+PPT+講解)

溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 作者簡介&#xff1a;Java領…

數字體驗推薦TOP8提升用戶參與

數字內容體驗推薦核心優勢 在數字化競爭日益激烈的市場環境中&#xff0c;數字內容體驗的差異化優勢已成為企業突圍的關鍵。通過智能算法驅動的個性化推薦系統&#xff0c;能夠精準捕捉用戶行為軌跡與興趣偏好&#xff0c;實現內容與受眾的動態匹配。這種技術不僅顯著提升頁面…

【每日學點HarmonyOS Next知識】動圖循環播放、監聽tab切換、富文本上下滾動、tab默認居中、a標簽喚起撥號

1、image加載網絡動圖播放一遍后不再播放,有什么方法可以 設置循環播放 目前ArkUI不支持gif圖片設置輪播次數&#xff0c;可通過三方庫ohos-gif-drawable設置輪播次數&#xff0c;在播放一次結束后的回調方法getLoopFinish()中更新播放次數&#xff0c;達到指定次數后設置播放…

redis數據遷移教程(使用RedisShake實現不停機遷移十分便捷)

1.我的場景 需要把本地的redis數據上傳到阿里云服務器上面,服務器上redis并沒有開aof持久化,但是將rdb文件上傳至服務器后每次重啟redis,rdb文件會被覆蓋導致無法同同步數據,最終決定使用RedisShake 2.RedisShake介紹 什么是 RedisShake? RedisShake 是一個用于處理和遷移…

C語言_數據結構總結4:不帶頭結點的單鏈表

純C語言代碼&#xff0c;不涉及C 0. 結點結構 typedef int ElemType; typedef struct LNode { ElemType data; //數據域 struct LNode* next; //指針域 }LNode, * LinkList; 1. 初始化 不帶頭結點的初始化&#xff0c;即只需將頭指針初始化為NULL即可 void Init…