hdfs被格式化的后果與補救

?????? 由于集群故障,連接不上hdfs,datanode節(jié)點部分掛,重新啟動單個節(jié)點和namenode也不好使,給出方法格式化namenode,之后啟動namenode和datanode,但是由于hdfs中有數(shù)據(jù),格式化前沒有備份數(shù)據(jù),導致了數(shù)據(jù)塊全部丟失,至此,整個集群中表數(shù)據(jù)都沒有了,悲劇的開始。

?????? 為了處理這個問題,評估了事件,由于元數(shù)據(jù)存儲在mysql中,所以表還在,只是hdfs表數(shù)據(jù)存儲在hdfs中的路徑和文件沒有了。

1.業(yè)務(wù)數(shù)據(jù)補充

?????? hive庫的訪問通過etl工具,所以業(yè)務(wù)數(shù)據(jù)的補充,直接通過etl工具。

?????? 由于hdfs文件目錄被刪除,所以第一步,建立目錄:

?????? hadoop fs -mkdir /user/hive/warehouse/hive_test_table

刪分區(qū),建立分區(qū):

?????? hive -e "alter table hive_test_table drop partition (op_month=201702,op_time= 20170215,op_hour=2017021514);"

?????? hive -e "alter table hive_test_table add partition (op_month=201702,op_time= 20170215,op_hour=2017021514);"

把etl生成的文件put到hdfs文件目錄:

?????? hdfs dfs -put /test/hive_test_table.txt /user/hive/warehouse/hive_test_table/op_month=201702/op_time=20170215/op_hour=2017021514

把表數(shù)據(jù)添加到其他表:

??????? INSERT INTO hive_test PARTITION (op_month=201702,op_time=20170215,op_hour=2017021514)

??????? SELECT CUST_ID,USER_ID,ACCT_ID? from? hive_test_table where? op_month='201702' AND op_time= '20170215' AND op_hour='2017021514';


2.維度表數(shù)據(jù)導入

查詢維度表的表結(jié)構(gòu):

??????? hive -e "desc formatted bts_type;"

顯示:

分割符

所以在生成導入文件的時候需要按照;分割,生成文件bts_type.txt

對bts_type.txt轉(zhuǎn)碼:

?????? iconv -f GBK -t UTF-8 bts_type.txt? -o? ? bts_type.txt

建立文件目錄:

?????? hadoop fs -mkdir? /user/hive/warehouse/bts_type

put文件到hdfs指定路徑下:

?????? hdfs dfs -put /test/bts_type.txt? /user/hive/warehouse/bts_type/bts_type.txt

?????? 由于集群中hdfs數(shù)據(jù)塊都被刪除了,維度表數(shù)據(jù)手動導入,業(yè)務(wù)數(shù)據(jù)表數(shù)據(jù)可以通過etl工具導入,為了避免類似問題發(fā)生,對集群數(shù)據(jù)的備份,和集群監(jiān)控還需要完善現(xiàn)有的維護方案。

?????? 1. 采用svn管理備份元數(shù)據(jù)與維度表數(shù)據(jù)文件

?????? 2. 集群中獲取zookeeper中namenode的狀態(tài),并監(jiān)控namenode,datanode,zookeeper存活節(jié)點,出問題立刻發(fā)短信告警

?????? 3. 在生產(chǎn)選取一臺主機備份維表數(shù)據(jù)和元數(shù)據(jù), 并寫批量腳步,如果以后發(fā)生類似事情,直接跑腳步,來修復

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容