您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關cdh5.14中cm server節點的/var/lib目錄被誤刪后該怎么恢復,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
筆者遇到個突發問題,線上某cdh集群中 (cdh6.14),cm server所在節點的/var/lib目錄被人誤刪了,誤刪操作人員已經嘗試了從cm agent節點cdh3中,拷貝/var/lib 目錄到cm server節點cdh2的/var/lib目錄下, 然后重啟了cm server,也確實重啟成功了,但是重啟后cm頁面有大量告警,有主機層面的,也有服務層面的,如cdh2主機運行狀況不良,cdh2上的host monitor 啟動失敗等,嘗試了若干次重啟cm集群,都沒有解決問題;同時hdfs,hive,hbase,zookeeper等服務重啟后不穩定,cm有時顯示這些服務是正常的,有時又顯示有問題,但查看hdfs web ui卻發現hdfs服務是正常的。
筆者接到上報的問題后,首先仔細觀察了cm中的告警信息和host頁面,發現hosts頁面有時顯示有cdh2節點,有時又沒有;同時原cdh2節點的角色如host monitor,hdfs namenode,有時會被顯示是運行在cdh3節點上,至此問題清晰了,是cm檢測hosts時發生了混亂,把cdh2節點和cdh3節點混淆了!
原理剖析:cm5.14版本的配置文件默認是在/etc/cloudera-scm-agent 和 /etc/cloudera-scm-server中,沒有被誤刪;同時hive底層的mysql和cm底層的mysql(有可能是同一個數據庫實例也有可能不是同一個數據庫實例)也沒有被誤刪,所以恢復cm server的/var/lib目錄下的文件后,可以成功重啟cm server, 同時cm server 重啟時仍可以通過配置文件/etc/cloudera-scm-server/db.properties找到mysql元數據庫并加載元數據庫中的信息,所以仍可以啟動cm集群。查看配置文件/etc/cloudera-scm-agent/config.ini 的 lib_dir配置項,該配置項配置的目錄是用來存儲cm agent節點的狀態信息的(該配置項說明:# Persistent state directory. Directory to store CM agent state that persists across instances of the agent process and system reboots. Particularly, the agent's UUID is stored here.)在問題環境中,由于該配置項指定的是/var/lib/cloudera-scm-agent, cdh2節點該目錄被誤刪除后是從另一個節點cdh3恢復過來的,恢復過來時后cdh2該目錄下uuid文件存儲的值就跟cdh3節點中該目錄下uuid文件存儲的值重復了。同時
cm在mysql元數據庫的cm.hosts表中存儲了cm集群的所有Hosts節點的一些元數據信息,包括HOST_IDENTIFIER字段存儲的uuid。在問題環境中該cm.hosts表周中存儲的chd1節點的uuid,與cdh2節點上/var/lib/cloudera-scm-agent/uuid文件中存儲的uuid信息不一致(因為uuid文件是從cdh3節點拷貝過來的),所以導致cm檢測cdh2節點和cdh3節點時發生了混淆,從而觸發了各種警報。事實上,/var/lib/cloudera-scm-agent/cm_guid文件存儲的是cm的id,跟cm.versions表中guid欄位的值一致,每個cm節點該文件的的內容都一樣;/var/lib/cloudera-scm-agent/uuid存儲的是該host全局唯一的id,跟cm.hosts表中HOST_IDENTIFIER欄位的值一致,每個節點的內容都不一樣。查看uuid文件內容:more /var/lib/cloudera-scm-agent/uuid;查看mysql元數據中cm.hosts表存儲的節點元數據信息語句:select HOST_ID,HOST_IDENTIFIER,NAME,IP_ADDRSS,RACK_ID,CLUSTER_ID from cm.hosts。
問題解決方法:修改cdh2節點的/var/lib/cloudera-scm-agent/uuid 文件,更改成cm.hosts表里對應節點cdh2的那條記錄的HOST_IDENTIFIER欄位的值,然后重啟 cm-server跟agent,問題最終解決了,解決后cdh2節點正常了,該節點上的scm服務角色如host monitor, 以及該節點上的大數據服務角色如namenode, resource manager, zk, hbase master等,也都正常了。
cm中相關目錄使用總結:
cm相關的配置文件目錄:
/etc/cloudera-scm-agent
/etc/cloudera-scm-server
cm相關的工作目錄:
/var/lib/cloudera-scm-server
/var/lib/cloudera-scm-agent
/var/lib/cloudera-host-monitor
/var/lib/cloudera-service-monitor
cm相關的日志目錄:
/var/log/cloudera-scm-server
/var/log/cloudera-scm-agent
/var/log/cloudera-scm-firehose
看完上述內容,你們對cdh5.14中cm server節點的/var/lib目錄被誤刪后該怎么恢復有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。