親愛的朋友們,我可愛的同事又搞了個大BUG
待我慢慢道來…
DolphinScheduler大家應該都用過,中國人開源的一個調度工具,類似Azkaban,本次的事情就是在DolphinScheduler上發生的,
據領導描述,某團隊負責的某業務數倉上云后,HDFS上的Hive庫表目錄總是無故被刪,他們找不到原因,讓我協助處理一下,
本來某業務數倉上云是一個很簡單的作業,對于DolphinScheduler上的任務而言,只需要把作業流匯出,然后匯入到云上的DolphinScheduler,不幸的是XX云上的Sqoop不能用,所以本來用Sqoop的任務需要改成DataX,從而發生了后面的事情,
處理流程:
1.開啟HDFS審計
2.日志尋找刪庫目錄操作,沒有搜到,因為之前云上環境問題,我已經不相信XX云,現在日志也搜不到,讓我更加懷疑是XX云的問題
3.挨個執行任務,每執行完一個看歷史資料是否還在
4.定位問題任務,我重復試了幾遍,怕自動洗掉與執行任務時間重合,后來確認就是這個任務問題
5.列印變數(空格看不出來)
6.比對此任務腳本與正常任務區別,沒有任何區別
7.注釋其它行,定位問題行
hdfs dfs -rm -r -f /user/hive/warehouse/ods.db/${table_name}/*
8.查看審計日志,發現刪的不是庫目錄,而是根目錄下的整個/user以及/tmp
9.發現自定義引數中空格


不選中根本看不出來空格,就是因為這個空格,導致之前的命令變成
hdfs dfs -rm -r -f /usr/hive/warehouse/ods.db/ods_test /*
形成了 rm -rf /*操作,幸虧該用戶權限不大,不然后果更嚴重,
現在來看,開啟HDFS日志審計十分有必要,開始沒有直接定位問題是沒有想到刪的不是庫表,而是整個根目錄,所以在日志中沒有搜到,也幸虧該用戶權限不大,只洗掉了/user和/tmp,沒有造成更嚴重的后果,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/436412.html
標籤:其他
上一篇:【外行也能看懂的RabbitMQ系列(四)】—— RabbitMQ進階篇之通過插件實作延遲佇列(內含實作代碼及rabbitmq_delayed_message_exchange安裝)
