目標____HTMLTAG_66__HTMLTAG_67___完成本課程後,您將:___HTMLTAG_68__HTMLTAG_69__HTMLTAG_70___了解 Patroni 叢集引導程序____HTMLTAG_71__HTMLTAG_72___在 3 個節點上首次啟動 3 個節點上啟動Patroni____HTMLTAG_73__HTMLTAG_74___使用下列指令檢查叢集狀態patrictl___HTMLTAG_75__HTMLTAG_76___驗證複製是否處於活動狀態__HTMLT AG_77__HTMLTAG_78___解決常見問題__HTMLTAG_79__HTMLTAG_80___測試基本故障轉移___HTMLTAG_81__HTMLTAG_82__HTMLTAG_83___1。預先引導清單___HTMLTAG_84__HTMLTAG_85___1.1。驗證先決條件___HTMLTAG_86__HTMLTAG_87___在啟動 Patroni 之前,驗證所有組件均已準備就緒:___HTMLTAG_88__CODEBLOCK_0__HTMLTAG_89___1.2。網路連線測試___HTMLTAG_90__HTMLTAG_91___驗證節點之間的連接:___HTMLTAG_92__CODEBLOCK_1__HTMLTAG_93___1.3。清理資料目錄___HTMLTAG_94__HTMLTAG_95___如果資料目錄不為空,則刪除到新的開始:
___CODEBLOCK_2__HTMLTAG_97___2。了解引導程式進程___HTMLTAG_98__HTMLTAG_99___2.1。引導流程___HTMLTAG_100__CODEBLOCK_3__HTMLTAG_101___2.2.競爭條件預防___HTMLTAG_102__HTMLTAG_103___Patroni 使用 DCS 來防止多個節點初始化__HTHTMLTAG_104__CODEBLOC104__CODEBLOC10141]G10____MLBLOC_102141]如果____MLBLOC個節點同時啟動:___HTMLTAG_108__HTMLTAG_109__HTMLTAG_110___更快的節點取得/初始化___HTMLTAG_1 12___密鑰___HTMLTAG_113__HTMLTAG_114___另一個節點看到密鑰已經存在→等待並從leader複製___HTMLTAG_115__HTMLTAG_116__HTMLTAG_117___3。引導叢集 - 一步一步___HTMLTAG_118__HTMLTAG_119___3.1。在節點 1 上啟動 Patroni___HTMLTAG_120__HTMLTAG_121__HTMLTAG_122___節點 1上的終端:___HTMLTAG_124__CODEBLOCK_5__HTMLTAG_125__HTMLTAG_126___預期日誌:___HTMLTAG_12 8__CODEBLOCK_6__HTMLTAG_129__HTMLTAG_130___驗證節點1:___HTMLTAG_132__CODEBLOCK_7__HTMLTAG_133___3.2。在 etcd 中驗證___HTMLTAG_134__CODEBLOCK_8__HTMLTAG_135___3.3。在節點 2 上啟動 Patroni___HTMLTAG_136__HTMLTAG_137__HTMLTAG_138___節點 2上的終端:___HTMLTAG_140__CODEBLOCK_9__HTMLTAG_141__HTMLTAG_142___預期日誌:___HTMLTAG_144 __CODEBLOCK_10__HTMLTAG_145__HTMLTAG_146___驗證節點2:___HTMLTAG_148__CODEBLOCK_11__HTMLTAG_149___3.4。在節點 3___HTMLTAG_150__HTMLTAG_151__HTMLTAG_152___節點 3 上啟動Patroni:_HTMLTAG_154__CODEBLOCK_12__HTMLTAG_155__HTMLTAG_156___預期日誌:與節點類似2.HTMLTA G_158__HTMLTAG_159__HTMLTAG_160___驗證節點3:HTMLTAG_162__CODEBLOCK_13__HTMLTAG_163___4。驗證叢集狀態___HTMLTAG_164__HTMLTAG_165___4.1。使用patronictl___HTMLTAG_166__CODEBLOCK_14__HTMLTAG_167__HTMLTAG_168___列意義:HTMLTAG_170__HTMLTAG_171__HTMLTAG_172__HTMLTAG_173 __HTMLTAG_175__HTMLTAG_176__HTMLTAG_177___主機:連接位址___HTMLTAG_179__HTMLTAG_180__HTMLTAG_181___角色:180__HTMLTAG_181___角色:18011821838383______LTAG_185___狀態:正在運作、串流、檔案復原中___HTMLTAG_187__HTMLTAG_188__HTMLTAG_189___TL:時間軸(所有內容均應相同)___HTMLTAGML_191HT滯後:複製滯後___HTMLTAG_195__HTMLTAG_196__HTMLTAG_197___4.2。檢查拓樸___HTMLTAG_198__CODEBLOCK_15__HTMLTAG_199___4.3。使用 REST API___HTMLTAG_200__CODEBLOCK_16__HTMLTAG_201___4.4。檢查來自 PostgreSQL 的複製____HTMLTAG_202__HTMLTAG_203__HTMLTAG_204___在主節點(節點1)上:___HTMLTAG_206__CODEBLOCK_17__HTMLTAG_207___輸出:___CODEBLOCK_18__HTMLTAG_209__HTMLTAG_210___在副本節點(節點2、節點3):___HTMLTAG_212__CODEBLOCK_19__HTMLTAG_213___4.5。驗證複製延遲___HTMLTAG_214__CODEBLOCK_20__HTMLTAG_215___5。測試基本操作___HTMLTAG_216__HTMLTAG_217___5.1。創建測試數據庫和表___HTMLTAG_218__HTMLTAG_219__HTMLTAG_220___在主節點上(連接到任何節點,panictl 將路由到主節點):___HTMLTAG_222__CODEBLOCK_21__HTMLTAG_223___5.2。驗證複製___HTMLTAG_224__HTMLTAG_225__HTMLTAG_226___在複製時(節點2或節點3):___CODEBLOCK_22__HTMLTAG_229___5.3。測試連續複製___HTMLTAG_230__HTMLTAG_231__HTMLTAG_232___終端 1(主 - 節點 1):CODEBLOCK_23終端______HTMLTAG_235__HTMLTAG_234______CODEBLOCK_23終端______HTMLTAG_235__HTMLTAG_236 副本-節點2):___HTMLTAG_238__CODEBLOCK_24__HTMLTAG_239___資料應該每秒增加→複製工作! HTMLTAG_240__HTMLTAG_241___6。常見引導程式問題___HTMLTAG_242__HTMLTAG_243___6.1。問題:Patroni無法啟動___HTMLTAG_244__HTMLTAG_245__HTMLTAG_246___症狀:HTMLTAG_248__CODEBLOCK_25__HTMLTAG_249__HTMLTAG_250______檢查檢查____H TMLTAG_251:HTMLTAG_252__CODEBLOCK_26__HTMLTAG_253__HTMLTAG_254___常見原因和原因解決方案:HTMLTAG_256__HTMLTAG_257___A。設定檔語法錯誤___HTMLTAG_258__CODEBLOCK_27__HTMLTAG_259__HTMLTAG_260___解決方案:CODEBLOCK_28__HTMLTAG_263___B。無法連接到 etcd___HTMLTAG_264__CODEBLOCK_29__HTMLTAG_265__HTMLTAG_266___解決方案:HTMLTAG_268__CODEBLOCK_30__HTMLTAG_269___C。資料目錄權限被拒絕____HTMLTAG_270__CODEBLOCK_31__HTMLTAG_271__HTMLTAG_272___解決方案:CODEBLOCK_32__HTMLTAG_275___D。連接埠已在使用___HTMLTAG_276__CODEBLOCK_33__HTMLTAG_277__HTMLTAG_278___解決方案:HTMLTAG_280__CODEBLOCK_34__HTMLTAG_281___6.2。問題:叢集無法初始化___HTMLTAG_282__HTMLTAG_283__HTMLTAG_284___症狀:Patroni啟動但不初始化叢集.HTMLTAG_286__HTMLTAG_287__HTMLTAG_288___檢查日誌:HTMLTAG_290__CO DEBLOCK_35__HTMLTAG_291__HTMLTAG_292___常見原因:HTMLTAG_294__HTMLTAG_295___A。資料目錄不為空____HTMLTAG_296__CODEBLOCK_36______HTMLTAG_297__HTMLTAG_298___解決方案:CODEBLOCK_37__HTMLTAG_301___B。初始化卡在 etcd 中的金鑰INFO: Another node is initializing
解決方案n:HTMLTAG_306__CODEBLOCK_39__HTMLTAG_307___6.3。問題:副本無法從主副本___HTMLTAG_308__HTMLTAG_309__HTMLTAG_310___症狀:節點 2 或 3 無法進行基本備份。 HTMLTAG_312__HTMLTAG_313__HTMLTAG_314___檢查日誌:_HTMLTAG_316__CODEBLOCK_40__HTMLTAG_317__HTMLTAG_318__________HTHTMLTAGMLTAG_317__HTMLTAG_318__________HT網路連線____HTMLTAG_322__CODEBLOCK_41__HTMLTAG_323__HTMLTAG_324___解決方案:HTMLTAG_326__CODEBLOCK_42__HTMLTAG_327___B。驗證失敗___HTMLTAG_328__CODEBLOCK_43__HTMLTAG_329__HTMLTAG_330___解決方案:
CODEBLOCK_44__HTMLTAG_333___C。空間不足____HTMLTAG_334__CODEBLOCK_45__HTMLTAG_335__HTMLTAG_336___解決方案:HTMLTAG_338__CODEBLOCK_46__HTMLTAG_339___6.4。問題:節點具有不同的時間軸___HTMLTAG_340__HTMLTAG_341__HTMLTAG_342___症狀:HTMLTAG_344__CODEBLOCK_4 7__HTMLTAG_345__HTMLTAG_346___解決方案:HTMLTAG_348__CODEBLOCK_48__HTMLTAG_349___7。啟用開機自動啟動___HTMLTAG_350__CODEBLOCK_49__HTMLTAG_351___8。基本叢集管理___HTMLTAG_352__HTMLTAG_353___8.1。重新啟動節點___HTMLTAG_354__CODEBLOCK_50__HTMLTAG_355___8.2。重新載入配置___HTMLTAG_356__CODEBLOCK_51__HTMLTAG_357___8.3。暫停/恢復自動故障轉移____HTMLTAG_358__CODEBLOCK_52__HTMLTAG_359___8.4。顯示配置___HTMLTAG_360__CODEBLOCK_53__HTMLTAG_361___9。測試自動故障轉移(可選)HTMLTAG_362__HTMLTAG_363__HTMLTAG_364___警告:僅在非生產環境中測試! HTMLTAG_366__HTMLTAG_367___9.1。模擬主要故障___HTMLTAG_368__CODEBLOCK_54__HTMLTAG_369___9.2。監視叢集故障轉移___HTMLTAG_370__CODEBLOCK_55__HTMLTAG_371___9.3。驗證新的主___HTMLTAG_372__CODEBLOCK_56__HTMLTAG_373__HTMLTAG_374___注意:時間軸從 1 → 2 增加(表示發生故障轉移).HTMLTAG_376__HTMLTAG_377_____HTMLTAG4。重新加入舊的主要___HTMLTAG_378__CODEBLOCK_57__HTMLTAG_379___10。實驗練習____HTMLTAG_380__HTMLTAG_381___實驗 1:引導與驗證___HTMLTAG_382__HTMLTAG_383__HTMLTAG_384___任務: 1. ✅ 依序在 3 個節點上啟動 Patroni 1. ✅ 21583 13 個節點上。驗證叢集清單3. ✅ Check replication status 4. ✅ Create test database and verify data replicatesLab 2: Test replication lag
Tasks: 1. Insert 10,000 rows into primary 2. Measure replication lag on replicas rows into primary 2. Measure replication lag on replicas rows into primary 2. Measure replication lag on replicas 3. MonUg_stat_ML_ML495_ML_ML3. 3:模擬節點故障___HTMLTAG_396__HTMLTAG_397__HTMLTAG_398___任務: 1. 停止主節點 2. 監視自動故障轉移 3. 驗證新的主節點是否適應 4. 問題停止加入舊的主節點 5.MLTA1010140___11010141] 5.MLTA10101757010140。摘要___HTMLTAG_402__HTMLTAG_403___關鍵要點___HTMLTAG_404__HTMLTAG_405✅ Bootstrap___HTMLTAG 407:第一個節點初始化,其他節點複製___HTMLTAG_408__HTMLTAG_409✅ Leader選舉:自動,基於DCS___HTMLTAG_412__HTMLTAG_413✅ 複製:透過 pg_basebackup自動設定__HTMLTAG_416__HTMLTAG_417✅ patronictl:主要管理工具___HTMLTAG_420__HTMLTAG_421✅ HTMLTAG_420__HTMLTAG_421✅ ML_U420_____HT2G20____20_____0]]] API、pg_stat_replication檢查___HTMLTAG_424__HTMLTAG_425✅ 故障轉移___HTMLTAG_427 :主要時自動失敗___HTMLTAG_428__HTMLTAG_429___檢查清單稍後引導___HTMLTAG_430__HTMLTAG_431__HTMLTAG_432 所有3 個節點顯示在patronictl 列表___HTMLTAG_434__HTMLTAG_435__HTMLTAG_436___1 領導者,25 副本___HTMLTAG_437__HTMLTAG_438 所有節點時間軸相同____437__HT40U438]所有延遲節點時間軸相同 MB____HTMLTAG_441__HTMLTAG_442 測試資料複製到所有節點___HTMLTAG_443__HTMLTAG_444 REST API 在所有節點上回應節點___HTMLTAG_445__HTMLTAG_446___Patroni 啟用自動啟動___MLTAG_445__HTMLTAG_446___Patroni 啟用自動啟動___ML4ML叢集運作良好___HTMLTAG_449__HTMLTAG_450__HTMLTAG_451___目前架構____HTMLTAG_452__CODEBLOCK_58__HTMLTAG_453___準備課程10____HTMLTAG_454__HTMLTAG_455___第 10課程將深入研究複製管理:HTMLTAG_456__HTMLTAG_457__HTMLTAG_458___同步與非同步複製___HTMLTAG_459__HTMLTAG_460___設定同步模式 HTMLTAG_461__HTMLTAG_462___監控複製滯後___HTMLTAG_463__HTMLTAG_464____處理複製問題___HTMLTAG_465__HTMLTAG_466