[發明專利]一種實現HDFS文件占用率自動監控的方法及系統有效
| 申請號: | 201910255763.3 | 申請日: | 2019-04-01 |
| 公開(公告)號: | CN109992573B | 公開(公告)日: | 2022-07-19 |
| 發明(設計)人: | 李娟;史飛悅 | 申請(專利權)人: | 焦點科技股份有限公司 |
| 主分類號: | G06F16/18 | 分類號: | G06F16/18;G06F16/174;G06F16/22;G06F16/25 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙) 32249 | 代理人: | 陳建和 |
| 地址: | 210032 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 hdfs 文件 占用率 自動 監控 方法 系統 | ||
1.一種實現HDFS文件占用率自動監控的方法,其特征在于,包括如下步驟:
步驟一: JAVA中動態配置HDFS的namenodes,包含Active NameNode和 StandbyNameNode:兩臺NameNode形成互備,一臺處于 Active 狀態,為主NameNode,另外一臺處于Standby 狀態,為備NameNode,配置HDFS路徑包括原始日志存放路徑/user/root/ODS/、日志處理后的倉庫表存放路徑/user/hive/warehouse/、配置oralce數據庫用戶名及密碼;通過調用java API接口遞歸循環獲取各路徑下的文件名和文件大小,將獲取到的文件名和文件大小存入list表中;在數據庫中建立相應的中間表,并且每次將list表中的數據插入到中間表之前,將ODS和DW層的中間表清空,所述ODS和DW層的中間表最多只存放近7天數據,而/user/root/ODS/、/user/hive/warehouse/路徑的總文件大小存放歷史至今 的數據;
步驟二:獲取的數據插入到數據庫之后,編寫ETL,通過正則判斷區分不規則路徑,計算原始日志每個日期分區下文件大小;計算各數據庫用戶的文件大小、數據庫用戶下各表的文件大小、數據庫用戶下各表下每個分區的文件大小;
步驟三:采用報表軟件展示每日HDFS總目錄,將文件大小、新增、同比、環比、明細通過圖表展現出來;
步驟四:通過kettle配置調度,所述步驟一中產生的JAR包發布后,編寫Shell文件調度JAR包,在執行shell文件之前先在日志表里寫一條開始執行的記錄,執行結束后將執行結果寫入日志表;最后調度在oracle里已經編寫的存儲過程并寫相關日志。
2.如權利要求1所述的一種實現HDFS文件占用率自動監控的方法,其特征在于:所述步驟一中,配置oralce數據庫用戶名及密碼,連接oralce數據庫,在oralce數據庫中新建新表TABLE1、TABLE2、TABLE3,將HDFS總目錄及文件總大小、ODS目錄及文件總大小、DW目錄及文件總大小存儲到TABLE1,將獲取到的ODS下底層目錄地址及文件大小明細存儲到數據庫中的新表TABLE2中,將獲取到的DW下底層目錄地址及文件大小明細存儲到數據庫中的新表TABLE3中。
3.如權利要求2所述的一種實現HDFS文件占用率自動監控的方法,其特征在于:所述步驟一中,所述TABLE2及TABLE3只保留最近7天的數據,所述TABLE1記錄的是HDFS總目錄及文件總大小、ODS目錄及文件總大小、DW目錄及文件總大小,記錄程序運行至今的數據;所述步驟二中,編寫ETL正則匹配hive倉庫表的某一分區,具體的匹配路徑為regexp_like(path,'/user/hive/warehouse/table_name/pt_cal_number =\d.+')0,將TABLE2及TABLE3向上匯總一層。
4.如權利要求3所述的一種實現HDFS文件占用率自動監控的方法,其特征在于:所述步驟三中,所述報表軟件使用QlikView前端,所述圖表包括趨勢圖、柱狀圖和透視表;將每天定位到的占用空間的TOP10及數據量同比增加或者減少超過15%的文件路徑在報表中進行標記。
5.一種根據權利要求1-4之一所述方法運行的實現HDFS文件占用率自動監控的系統,其特征在于:包括依次相連的元數據模塊、ETL模塊、數據推送及展示模塊;
所述元數據模塊包括依次相連的基礎配置模塊、數據獲取模塊和數據插入模塊;所述基礎配置模塊用于動態配置HDFS的namenodes使其在切換時不會對程序產生影響,配置HDFS路徑包括原始日志存放路徑/user/root/ODS/,日志處理后的倉庫表存放路徑/user/hive/warehouse/,配置oralce數據庫用戶名及密碼,數據獲取模塊通過調用java API接口遞歸循環獲取各路徑下的文件名和文件大小,將獲取到的文件名和文件大小存入list表中;所述數據插入模塊用于在數據庫中建立相應的中間表,并且每次將list表中的數據插入到中間表之前,需要將ODS和DW層的中間表清空,所述ODS和DW層的中間表中最多只存放最近7天的數據,而/user/root/ODS/、/user/hive/warehouse/路徑的總文件大小存放歷史至今 的數據;
所述ETL模塊,計算HDFS目錄下文件大小,ODS目錄下原始日志文件大小,原始日志每個日期文件下文件大小,數據倉庫DW目錄下各數據庫用戶的文件大小,數據庫用戶下各表的文件大小,數據庫用戶下各表下每個分區的文件大小;
所述數據推送及展示模塊,將ETL模塊獲取的各指標通過趨勢圖、柱狀圖、透視表圖表方式展現出來,將每天定位到的占用空間的TOP10及數據量同比增加或者減少超過15%的文件路徑在報表中進行標記并發送給維護人員。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于焦點科技股份有限公司,未經焦點科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910255763.3/1.html,轉載請聲明來源鉆瓜專利網。





