国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
MYSQL性能優(yōu)化之Mysql數(shù)據(jù)庫高可用架構(gòu)設計之MHA架構(gòu)設計(下)

  1. MHA(Master High Availability)是一個免費的開源工具,使用Prel開發(fā)。
  2. MHA更多關注點是主從復制中的主DB.
  3. 當主DB崩潰時,快速的在從服務器中找到最佳服務器。
  4. 在MySQL故障切換過程中,MHA能做到在0~30秒之內(nèi)自動完成數(shù)據(jù)庫的故障切換操作,并且在進行故障切換的過程中,MHA能在最大程度上保證數(shù)據(jù)的一致性,以達到真正意義上的高可用。
  5. 主服務器宕機時,MHA會嘗試從主服務器盡可能多的保存二進制日志,最大程度保證事務的不丟失。如果主服務器硬件或者網(wǎng)絡出現(xiàn)問題(ssh無法訪問),肯定也就無法保存二進制日志了
  6. MHA可以與半同步復制結(jié)合起來

MHA功能

MHA主從切換過程



- 2可以手動設置從服務器不參與選舉
- 3彌補其他從服務器數(shù)據(jù)差異
- 4如果重復的主鍵等會使MHA停止進行故障轉(zhuǎn)移
- 5虛擬IP切換

MHA提供兩個主要優(yōu)點:
- 自動故障切換:有助于意外的主站故障,崩潰等等(故障切換也可以手動完成)。
- 快速在線主切換:在執(zhí)行內(nèi)核更新,MySQL升級,硬件升級等常規(guī)計劃或計劃維護操作時有用。

MHA演示架構(gòu)(基于GTID)

MHA配置步驟



- SSH->故障轉(zhuǎn)移過程中保存原主服務器二進制日志,配置虛擬IP地址等
- 日志點和GTID(推薦)
- ssh和復制鏈路的監(jiān)測

MHA實例

確保gtid在集群中所有的服務器中啟動

show variables like 'gtid_mode';
  • 1

建立復制用戶

從數(shù)據(jù)庫初始化(略,備份,看上一篇)

從服務器啟動復制鏈路

show slave status ; 
  • 1

MHA配置

重復1,2步驟在每臺服務器執(zhí)行一遍
生成密鑰之后,進行免密鑰密碼的配置

1 主服務器生成ssh密鑰

2 主服務器拷貝ssh密鑰到從服務器(主服務器的密鑰驗證也要配置)

3安裝包下載

4 安裝prel支持包

數(shù)據(jù)節(jié)點只需要這幾個包,每天服務器都安裝

yum -y install perl-DBD-MYSQL nctfp perl-DBI.x86
  • 1

每天服務器都安裝node節(jié)點包

rpm -ivh mha.....rpm
  • 1

監(jiān)控服務器安裝依賴(上面的那個命令(監(jiān)控節(jié)點))

安裝監(jiān)控包rpm -ivh mha.....rpm
  • 1
  • 2

4 MHA配置(只需要在監(jiān)控服務器配置就行)

  • 創(chuàng)建配置文件保存目錄
  • 創(chuàng)建mha工作目錄
  • 創(chuàng)建配置文件
    • 服務器默認信息
      • mha主從管理用戶(在主數(shù)據(jù)庫(節(jié)點1)建立)
      • 密碼
      • 管理服務工作目錄
      • remote_workdir遠程服務器工作目錄(手動在每個服務器建立)
      • ssh用戶(啟動mha時的用戶)
      • 復制用戶和密碼
      • ping_interval 檢查主數(shù)據(jù)庫是否可以連通的時間間隔
      • master_binlog_dir目錄
        • show variables like ‘%log%’; -> log_bin_basename(主服務器查看位置)
      • master_ip_failover_script執(zhí)行腳本,完成主從切換之后,虛擬IP漂移
        • 還可以添加完成主從切換后,自動郵箱通知DBA
      • secondary_check_script(MHA默認只通過monitor服務器來監(jiān)控主服務器是否可用),該腳本可以通過多網(wǎng)絡路徑來監(jiān)測主服務器是否可用(當網(wǎng)絡抖動時,避免錯誤切換)
    • 主機信息
      • hostname
      • 參加master選舉的服務器(不參加選舉)

腳本

5 監(jiān)測MHA配置

查看ssh免認證是否配置正確

masterha check ssh --conf= /etc/mha/mysql_mha
  • 1

監(jiān)測主從復制的結(jié)構(gòu)(環(huán)境)

masterha check repl --conf= /etc/mha/mysql_mha
  • 1

6 啟動MHA

MHA不會自動的配置虛擬IP,所以需要手動配置

nohup(放到后臺) masterha manager --conf=/etc/mha/mysql_mha.cnf & [1] ps -ef ifconfig eth0:1 192.168.3.90/24 配置虛擬IP
  • 1
  • 2
  • 3

7 測試MHA

停止數(shù)據(jù)庫/etc/init.d/mysql stopip addr 查看虛擬IP是否轉(zhuǎn)移 ORshow slave status  監(jiān)控服務器
  • 1
  • 2
  • 3
  • 4
  • 5

8 MHA優(yōu)缺點

  • 優(yōu)點
    • Perl,開源
    • 支持GTID
    • MHA在故障轉(zhuǎn)移時不易產(chǎn)生數(shù)據(jù)丟失(加強數(shù)據(jù)安全性)
    • 同一個監(jiān)控節(jié)點可以監(jiān)控多個集群
  • 缺點
    • 沒有虛擬IP的配置
      • (腳本)->增加MHA工具復雜度
      • 第三方工具,失去自動從多個從服務器去選取最優(yōu)服務器的功能,增加集群部署的復雜性
        • MHA運行時不監(jiān)控復制鏈路,也就無法發(fā)現(xiàn)問題(復制鏈路中斷,主從延遲增大)。
        • MMM在主從鏈路出現(xiàn)問題時,通過切換故障服務器讀VIP方式來排除故障服務器

讀寫分離

Mysql主從復制配置一個主要目的:為了分擔主庫的讀負載(讀>>寫)
那么讀寫分離的目的:寫負載是不能分擔的,只能在主上進行寫操作(讀操作,主從都可以)

兩種讀寫分離方式
  • 由程序?qū)崿F(xiàn)讀寫分離
    • 架構(gòu)簡單,易于維護
    • DBA和開發(fā)(控制讀寫分離)之間溝通成本的增加(重上線,重啟程序)
  • 由中間件實現(xiàn)讀寫分離
    • mysql-proxy(實驗項目,一直沒正式上線) maxScale(MariaDB)
    • 依賴中間層的性能(損耗比較嚴重,最好上線前進行一些基準測試,QPS降低50%到70%),故障點
    • 加入提示關鍵字,對程序修改->從而對程序不再透明

負載均衡

  • 程序輪詢
  • 軟件:LVS Haproxy MaxScale
  • 硬件 : F5

MaxScale Core

  • Authentication
    • 認證連接:后端數(shù)據(jù)庫讀取Mysql.user->緩存到MS服務器端->用戶連接->判斷是否通過驗證 ->無此用戶->對后端數(shù)據(jù)進行更新再進行驗證
  • Protocal:負責MS和外部接口的協(xié)議
    • 客戶端到MS的接口(mysql客戶端協(xié)議插件)
    • MS到后端數(shù)據(jù)的接口(mysql服務端協(xié)議插件)
  • Router
  • readconnroute(多臺服務器負載均衡)
  • readwritesplit(讀寫分離)
  • Monitor 對后端數(shù)據(jù)庫進行實時監(jiān)控(前端請求->正確的后臺數(shù)據(jù)庫)
  • Filter 數(shù)據(jù)庫防火墻(對sql過濾和改寫,sql容錯和自動轉(zhuǎn)換)

MaxScale Core安裝和配置


演示環(huán)境:一主兩從,主:192.168.3.101,從:192.168.3.100,192.168.3.102

賬號的建立(監(jiān)控模塊,路由模塊 )


加密密碼(略)

修改配置文件

cd /etc/ls -l maxscale*
  • 1
  • 2

  • threads 進程(8)
  • 服務器信息(全部)
  • 監(jiān)控模塊的配置(加密密碼填寫,略)
  • 讀負載模塊(略)
  • 讀寫分離模塊(也能實現(xiàn)讀負載)
    • 最大可用從服務器數(shù)量(默認:all)
    • 從服務器最大的延遲 (當延遲大于60s后,從服務器不再參與讀寫分離)
  • 監(jiān)聽
    • 讀監(jiān)聽
    • 讀寫模塊監(jiān)聽(獨立服務器,3306端口)

MaxScale Core啟動

maxscale --config=/etc/maxscale.cnf確認ps -ef | grep maxscalenetstat -ntelp
  • 1
  • 2
  • 3
  • 4


默認用戶admin,密碼:mariadb

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
秒級故障切換!用MHA輕松實現(xiàn)MySQL高可用(一)
實戰(zhàn)體驗幾種MySQL Cluster方案
MaxScale:實現(xiàn)MySQL讀寫分離與負載均衡的中間件利
MySQL高可用MHA介紹 數(shù)據(jù)庫管理員
踩坑無數(shù),美團點評高可用數(shù)據(jù)庫架構(gòu)演進
MySQL高可用在網(wǎng)易的最佳應用與實踐
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服