㈠ Doris 源碼分析 (四) 元數據維護
注 修改配置之後,需要通過 metadata_failure_recovery=true 來清空 bdbje 的元數據, 因此當修改 FE 埠等都可以通過在 fe/基拿conf/fe.conf 的方式來使其生效即可,然後將 fe.conf 文件中的 metadata_failure_recovery=true 刪除防止下次再次清除咯。(源碼: org.apache.doris.journal.bdbje.BDBDebugger )
修改 fe.conf 文件增加 enable_bdbje_debug_mode=true , 然後通過 sh start_fe.sh --daemon 啟動 FE 即可進入 debug 模式。 進入 debug 模式之後,僅會啟動 http server 和 MySQLServer 並打開 BDBJE 實例,但不會進入任何元數據的載入及後搏大搭續其他啟動流程。
進入 FE web ui 或 MySQL 客戶端訪問 Doris 服務:
當硬碟損壞之後,磁碟上 image 文件可能損壞,但內存中元數據完好的情況下可以從內存中 mp 元數據,在替換磁碟上仿芹的 image 文件,來恢復元數據,整個不停查詢服務的操作如下:
FE 啟動腳本中指定了 -helper 參數,並且指向了正確的 leader FE 節點,那麼該 FE 首先會通過 http 向 leader 節點詢問自身的角色(即 ROLE )和 cluster_id 。然後拉取最新的 image 文件。讀取 image 文件,生成元數據鏡像後,啟動 bdbje ,開始進行 bdbje 日誌同步。同步完成後,開始回放 bdbje 中, image 文件之後的日誌,完成最終的元數據鏡像生成。