Gbase 8a資料庫節點替換
叢集節點替換
1簡介
當叢集規模不斷擴大時,叢集的節點損壞會成為一個比較常見的現象,同
時隨著資料量的增大,單個節點的計算能力和儲存能力也會成為瓶頸。這兩種
情況下都需要對叢集節點進行替換升級,使叢集能夠正常工作。
2功能概述
節點替換針對節點機器徹底損壞的情況,通過節點替換流程來恢復資料,
最終達到替換損壞節點的目的。新舊機器使用相同的 IP。
節點替換過程中,叢集狀態必須是非 LOCK 狀態。
在節點替換過程中,替換節點的狀態會發生變化。
節點故障狀態變更順序為:
OFFLINE -> UNAVAILABLE -> REPLACE -> ONLINE
升級時狀態變化過程如下:
ONLINE -> UNAVAILABLE -> REPLACE -> ONLINE
替換開始前:節點損壞,節點的狀態為 OFFLINE,使用者必須設定節點
狀態為 UNAVAILABLE;
替換開始後:節點狀態轉換為 REPLACE
替換成功後:節點狀態轉換為 ONLINE
替換執行失敗:節點狀態回滾為 UNAVAILABLE
在節點替換過程中,叢集模式會發生變化,模式變更順序為:
NORMAL -> READONLY -> NORMAL GBase 8a MPP Cluster 管理員手冊
同步表結構前:叢集模式為 NORMAL,叢集可以正常操作
同步表結構期間:叢集模式為 READONLY,只允許進行查詢操作,不允
許任何 dml、ddl 以及載入操作,此時進行資料表結構的同步操作,
對使用者資料表設定全同步標誌。
同步完成後:叢集模式為 NORMAL,叢集可以正常操作
替換完成後,叢集可以正常進行操作。
3注意事項
節點替換過程需要注意以下問題:
節點狀態轉換為 UNAVAILABLE 後,只有在節點替換成功的時候,節點
狀態才能轉換為 ONLINE。使用者不能對 corosync 中的節點狀態持久化
檔案進行手工操作,如果手工修改持久化檔案中的節點狀態
(UNAVAILABLE -> ONLINE),會導致資料丟失。
設定節點為 UNAVAILABLE 時,若叢集中有大量 ddl event,dml event
或 dmlstorage event 時,程式需要檢查所有的 event,判斷被設定狀
態的節點的備份節點是否正常,有大量 event 時,該過程可能需要較
長時間。
開始節點替換時,若被替換節點有大量 ddl event,dml event 或
dmlstorage event 時,節點替換程式要將被替換節點的所有 event 刪
除,該過程可能會需要較長時間。
損壞的節點上有 nocopy 表,資料無法恢復,必須使用者手工進行恢
復。
損壞的節點上存在不通過叢集命令建立的資料,這些資料無法恢復,
必須使用者手工進行恢復。
在節點替換過程中,如果出現 replace.py 命令被強殺或者執行
replace.py 命令的機器掉電等現象,可能會導致叢集狀態處於 GBase 8a MPP Cluster 資料抽取及載入工具參考手冊
READONLY狀態無法自行恢復正常。此時可以使用gcadmin switchmode
normal 恢復叢集狀態然後繼續使用叢集。或者再一次執行
replace.py 命令替換節點,節點替換成功後叢集狀態就恢復正常。
節點替換時,需保證 gbase 使用者擁有 GCWare 配置檔案
(/etc/corosync/corosync.conf)的訪問許可權,即該檔案的許可權屬性
應為 644。
使用者在執行節點替換前,必須保證執行替換的使用者擁有安裝程式目錄
的讀寫許可權,即可以在該目錄下建立檔案和子目錄。
執行節點替換時,若出現當機或掉電等情況,將導致替換失敗,替換
節點和源節點上可能會有殘留資料。此時需要再次執行節點替換,進
行殘留資料清理,完成清理後方可重新進行節點替換操作。
4節點替換的步驟
4.1步驟一:檢查網路
在進行節點替換操作前,首先要保證叢集內的網路通暢。如果遇到網路異
常的情況,可以請網路管理員協助排查異常情況,恢復網路通暢。
4.2步驟二:gcadmin 設定要替換節點的狀態
我們在作業系統的 gbase 使用者(demo.options 檔案中 dbauser 引數指定的
使用者)下執行 gcadmin setnodestate 命令設定要替換的節點狀態為
UNAVAILABLE。
注:gcadmin 設定要替換節點的狀態,現在只支援單個節點設定。
4.3步驟三:準備用於節點替換的新機器 GBase 8a MPP Cluster 管理員手冊
新機器安裝和原節點機器相同的作業系統,使用相同的 ip,並符合叢集
安裝的要求:關閉防火牆、關閉 selinux。
4.4步驟四:gcadmin 檢視叢集各項狀態
選擇叢集中一個 coordinator 節點,切換到 gbase 使用者(demo.options 文
件中 dbauser 引數指定的使用者),使用 gcadmin 命令來檢視叢集的各項狀態。
叢集的狀態為如下時,表示正常:
CLUSTER STATE: ACTIVED
CLUSTER MODE: NORMAL
===============================================================
| GBASE COORDINATOR CLUSTER INFORMATION |
===============================================================
| NodeName | IpAddress |gcware |gcluster |DataState |
---------------------------------------------------------------
| coordinator1 | 192.168.153.126 | UNAVAILABLE | | |
===========================================================
| GBASE DATA CLUSTER INFORMATION |
===========================================================
|NodeName | IpAddress |gnode |syncserver |DataState |
-----------------------------------------------------------
| node1 | 192.168.153.126 | UNAVAILABLE | | |
如果 CLUSTER STATE: LOCKED:節點替換的後續步驟不能進行,必須解決
問題使叢集的狀態變為 ACTIVED,才可以繼續。
4.5步驟五:replace.py 對節點進行替換安裝
選擇叢集中一個 coordinator 節點,切換到 gbase 使用者(demo.options 文
件中 dbauser 引數指定的使用者),使用 replace.py 命令對要替換的節點進行替
換安裝。 GBase 8a MPP Cluster 資料抽取及載入工具參考手冊
命令格式:
replace.py [options]
引數說明:
--host 指定將要替換的節點 ip 列表,用逗號分隔
--rootPwd root 使用者的密碼, 要求所有節點 root 密碼一致。
--root_pwd_file 該引數支援 root 使用者在多節點不同密碼方式,與引數
rootPwd 不能同時使用,否則報錯。
--dbaRootPwd 要替換節點的資料庫 root 使用者密碼如果不為空,需要傳入
該資料庫 root 使用者密碼。目前密碼中不支援單引號,其它特殊符號用單引號
包圍。
--overwrite 強制覆蓋安裝,這個引數可選。
--sync_coordi_metadata_timeout 設定 coordinator 節點替換的超時時
間。預設值為 15,最小值為 1。
--parallel_pack coordinator節點替換並行打包開關。預設值為 0,最小
值為 1。
--retry_times節點替換時同步系統表retry次數。預設值為 3,最小值為
1,最大值為 2147483647。
--license_file 針對帶有 License 認證的叢集,在執行節點替換的時候,
需要提前生成 license檔案,通過--license_file 引數將檔案傳入,在叢集安
裝成功後,叢集可正常使用。
-- passwordInputMode,可選,用於指定密碼獲取的方式,通過不同的引數
實現不同的獲取方式。若指定該引數,則 demo.options 中的密碼不必再修改。
預設值: file
取值範圍 : [file,pwdsame,pwddiff] GBase 8a MPP Cluster 管理員手冊
1) file : 表示從檔案獲取,和原有的方式一致,該方式下,檔案中的密
碼是明文的 ;
2) pwdsame:表示從終端由使用者輸入密碼,並且所有節點的密碼一致情況
下使用該引數,對於不同使用者密碼只輸入一次,適用於所有節點都用
這個密碼 ;
3) pwddiff: 表示從終端由使用者輸入密碼,並且節點間的密碼不一致情
況下使用該引數,對於不同使用者密碼每個節點分別輸入一次,適用於
不同節點使用不同的密碼;
執行前提:
替換節點使用原有節點的 IP。
當使用者沒有使用強制安裝選項,替換節點上不能存在叢集軟體。刪除叢集
軟體時必須先停止相應節點的叢集服務。叢集服務包括:
1. coordinator 節點:corosync、gclusterd、gcrecover、gcmonit、
gcmmonit;
2. dataserver 節點:gbased、gc_sync_server;
使用者使用強制安裝選項時,使用者必須保證替換節點上的有用的資訊已經妥
善備份,否則可能導致資料無法恢復。
在已有的 coordinator 節點上使用 dba 使用者執行。
如果替換 coordinator 叢集節點,要求總數不可以超過 coordinator 叢集
總數的一半,也就是保證叢集不能是 LOCK 狀態。
如果是 data 叢集,不可以同時替換主備分片的節點,保證分片必須有可
用的備份源資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69980034/viewspace-2888873/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 趣說GBase 8a資料庫叢集(一)資料庫
- 徵文 | 學習GBase 8a新型分析資料庫資料庫
- 趣說GBase 8a資料庫叢集(三)—之高可用特性資料庫
- 十一 GBase 8a MPP Cluster後設資料查詢
- 使用者之聲 | 對於GBase 8a資料庫學習的感悟資料庫
- 徵文 | 收穫,不止GBase 8a——GBase 8a培訓總結與感受
- gbase 資料庫資料庫
- SQL Server資料庫內容替換方法SQLServer資料庫
- sql 正則替換資料庫語句!SQL資料庫
- 南大通用GBase 8a中標吉林銀行MPP資料庫採購專案資料庫
- 替換資料庫的代價與真假國產資料庫
- 資料庫快取管理器塊替換資料庫快取
- 新春開課 | 歡迎參加GBase 8a MPP CLuster資料庫2月訓練營資料庫
- 認證培訓 | 歡迎參加GBase 8a MPP Cluster資料庫5月訓練營資料庫
- 安裝部署GBase 8a MPP資料庫對於伺服器作業系統的要求資料庫伺服器作業系統
- 認證培訓 | 歡迎參加GBase 8a MPP CLuster資料庫3月訓練營資料庫
- mongo資料庫單節點搭建Go資料庫
- GBase 8a MPP CLuster資料庫2022年第8期培訓圓滿結束資料庫
- GBase 8a MPP CLuster資料庫2022年第3期培訓圓滿結束資料庫
- 高速公路換輪胎——為遺留系統替換資料庫資料庫
- 一 GBase 8a MPP Cluster安裝部署
- 七 GBase 8a MPP Cluster解除安裝
- Hadoop 和 GBase 8a 的區別Hadoop
- 中標喜報!南大通用GBase 8a中標吉林銀行MPP資料庫採購專案資料庫
- Oracle資料庫中convert()函式,在瀚高資料庫中如何替換使用?Oracle資料庫函式
- MySQL資料庫中timediff()函式,在瀚高資料庫中如何替換使用?MySql資料庫函式
- activiti-explorer(activiti 5.22) 替換為mysql資料庫MySql資料庫
- 3節點RAC資料庫夯故障分析資料庫
- exadata vmwate 安裝資料庫節點資料庫
- 資料庫——查詢樹形結構某節點的所有子節點、所有父節點資料庫
- 攜手長亮資料打造資料底座 GBase 8a MPP助力承德銀行數字化轉型
- 俄烏戰爭下的國產資料庫替換思考-墨天輪資料庫
- 以攻為守:開源資料庫是最佳替換品(轉)資料庫
- 【RAC】刪除RAC資料庫節點(一)——刪除資料庫例項資料庫
- 雲資料庫MongoDB單節點系列釋出資料庫MongoDB
- inode節點耗盡導致資料庫OOM資料庫OOM
- Oracle RAC恢復成單節點資料庫Oracle資料庫
- 二 GBase 8a MPP Cluster客戶端安裝客戶端