[發(fā)明專利]多版本的yarn聚合日志導出方法和系統(tǒng)在審
| 申請?zhí)枺?/td> | 202210047840.8 | 申請日: | 2022-01-17 |
| 公開(公告)號: | CN114510286A | 公開(公告)日: | 2022-05-17 |
| 發(fā)明(設計)人: | 王彬 | 申請(專利權)人: | 杭州玳數(shù)科技有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 常州佰業(yè)騰飛專利代理事務所(普通合伙) 32231 | 代理人: | 陳紅橋 |
| 地址: | 311121 浙江省杭州市余杭區(qū)倉前街道余杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 版本 yarn 聚合 日志 導出 方法 系統(tǒng) | ||
1.一種多版本的yarn聚合日志導出方法,其特征在于,包括以下步驟:
采用重寫loadClass方式定義類加載器CustomClassLoader;
根據(jù)所述類加載器CustomClassLoader并基于SPI實現(xiàn)IExport實現(xiàn)類;
基于所述IExport實現(xiàn)類代理ExportProxy代理類;
基于所述IExport實現(xiàn)類將所述ExportProxy代理類緩存至ExportCache。
2.根據(jù)權利要求1所述的多版本的yarn聚合日志導出方法,其特征在于,所述采用重寫loadClass方式定義類加載器CustomClassLoader包括以下步驟:
判斷當前ClassLoader是否加載過當前Class文件;
如果所述當前ClassLoader未加載過所述當前Class文件,則在當前ClassLoaderresource范圍內(nèi)搜索所述當前Class文件;
如果在所述當前ClassLoader resource范圍內(nèi)搜索到所述當前Class文件,則加載并返回Class對象;
如果在當前ClassLoader resource范圍內(nèi)未搜索到所述當前Class文件,則采用父類加載器進行加載,并判斷加載是否成功;
如果加載成功,則返回所述Class對象;
如果加載失敗,則拋出ClassNotFoundException異常。
3.根據(jù)權利要求2所述的多版本的yarn聚合日志導出方法,其特征在于,所述根據(jù)所述類加載器CustomClassLoader并基于SPI實現(xiàn)IExport實現(xiàn)類包括以下步驟:
在resource目錄下添加META-INF/services目錄;
在所述META-INF/services目錄下新建與IExport接口的全限定名一致的第一文件,并在所述第一文件中寫入IExport接口的實現(xiàn)類的全限定名,以獲取第二文件;
基于所述第二文件重寫open方法、reachedEnd方法、readNext方法和close方法。
4.根據(jù)權利要求3所述的多版本的yarn聚合日志導出方法,其特征在于,所述基于所述IExport實現(xiàn)類代理ExportProxy代理類,包括以下步驟:
創(chuàng)建所述ExportProxy代理類并實現(xiàn)IExport中接口;
在所述ExportProxy代理類中創(chuàng)建入?yún)樗鯥Export實現(xiàn)類的構(gòu)造方法;
在重寫后的open方法、reachedEnd方法、readNext方法和close方法執(zhí)行前將線程上下文類加載器設置為所述類加載器CustomClassLoader,并在重寫后的open方法、reachedEnd方法、readNext方法和close方法執(zhí)行結(jié)束后將所述線程上下文類加載器設置為原始類加載器。
5.根據(jù)權利要求4所述的多版本的yarn聚合日志導出方法,其特征在于,所述基于所述IExport實現(xiàn)類將所述ExportProxy代理類緩存至ExportCache,包括以下步驟:
定義所述IExport實現(xiàn)類緩存Map,其中,key為hadoop版本,value為具體的實現(xiàn)類;
根據(jù)所述hadoop版本獲取對應實現(xiàn)類的jar文件路徑,并指定所述類加載器CustomClassLoader的加載路徑為所述jar文件路徑;
基于SPI ServiceLoader.load方法根據(jù)所述加載路徑加載所述IExport實現(xiàn)類并放入緩存中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州玳數(shù)科技有限公司,未經(jīng)杭州玳數(shù)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210047840.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于時間的yarn任務資源動態(tài)調(diào)度方法
- 一種YARN集群GPU資源調(diào)度方法、裝置和介質(zhì)
- 一種資源配置方法、設備、裝置和計算機可讀存儲介質(zhì)
- 一種基于NiFi的大數(shù)據(jù)計算方法及裝置
- 一種基于Mesos和YARN結(jié)合的DCOS云管理平臺
- 一種Spark作業(yè)的提交方法及裝置
- 一種YARN組件高可用性功能的測試方法、系統(tǒng)及設備
- 一種基于YARN集群的資源管理方法、計算機設備和存儲介質(zhì)
- 任務調(diào)度方法、裝置、任務調(diào)度平臺及計算機存儲介質(zhì)
- 一種對Spark任務分片所使用內(nèi)存的限制方法及系統(tǒng)





