化doop系統(tǒng)能識(shí)別的包名轉(zhuǎn)換為所述第一化doop系統(tǒng)能識(shí)別的包名,將轉(zhuǎn)換后的包發(fā) 送給所述主節(jié)點(diǎn),實(shí)現(xiàn)了基于不同協(xié)議的第一和第二化doop系統(tǒng)之間的兼容性,能夠?qū)崿F(xiàn) 在第二化doop系統(tǒng)上訪問(wèn)第一化doop系統(tǒng)的數(shù)據(jù),提高了化doop系統(tǒng)訪問(wèn)的易用性,豐 富了化doop系統(tǒng)的功能。
[0050] 實(shí)施例2
[0051] 參見(jiàn)圖2,本實(shí)施例提供了一種實(shí)現(xiàn)化doop兼容性的方法,包括:
[0052] 201 ;在采用PB協(xié)議的第二化doop系統(tǒng)上接收到訪問(wèn)文件的請(qǐng)求;
[0053] 本實(shí)施例中,第二化doop系統(tǒng)就是指化doop2. 0系統(tǒng),采用PB協(xié)議進(jìn)行通信。接 收到訪問(wèn)文件的請(qǐng)求,可W是在YARN框架下使用化doop2. 0系統(tǒng)DFS的FileSystem接口 發(fā)起文件操作。
[0054] 202 ;讀取第二化doop系統(tǒng)的配置文件,確定h壯S類(lèi)型的文件由該兼容訪問(wèn)接口 處理;
[0055] 203 ;在該配置文件中查找節(jié)點(diǎn)列表,獲得該文件所在主節(jié)點(diǎn)的版本信息;
[0056] 具體地,本步驟可W包括:
[0057] 在該配置文件中查找節(jié)點(diǎn)列表;
[005引如果該節(jié)點(diǎn)列表中包括該主節(jié)點(diǎn),則獲知該主節(jié)點(diǎn)屬于第一化doop系統(tǒng);
[0059] 如果該節(jié)點(diǎn)列表中不包括該主節(jié)點(diǎn),則獲知該主節(jié)點(diǎn)屬于第二化doop系統(tǒng)。
[0060] 204 ;根據(jù)該版本信息確定該主節(jié)點(diǎn)屬于采用RPC協(xié)議的第一化doop系統(tǒng);
[0061] 205 ;運(yùn)行兼容訪問(wèn)接口調(diào)用第二化doop系統(tǒng)中與所述請(qǐng)求對(duì)應(yīng)的第二方法,且 將該第二方法中的對(duì)象轉(zhuǎn)換為第一化doop系統(tǒng)中與所述請(qǐng)求對(duì)應(yīng)的第一方法中的對(duì)象;
[0062] 其中,第一化doop系統(tǒng)就是指化doopl. 0系統(tǒng),采用RPC協(xié)議進(jìn)行通信。
[0063] 206 ;將所述第二方法所屬的包的名稱(chēng),由第二化doop系統(tǒng)能識(shí)別的包名
[0064] 轉(zhuǎn)換為第一化doop系統(tǒng)能識(shí)別的包名;
[0065] 207 ;將轉(zhuǎn)換后的包發(fā)送給該主節(jié)點(diǎn)。
[0066] 上述方法中,通過(guò)化doop2. 0系統(tǒng)的配置文件獲取主節(jié)點(diǎn)版本信息的過(guò)程,
[0067] 可W采用下面的例子來(lái)進(jìn)行說(shuō)明。例如,化doop2. 0系統(tǒng)的配置文件如下:
[0068]
【主權(quán)項(xiàng)】
1. 一種實(shí)現(xiàn)Hadoop兼容性的方法,其特征在于,所述方法包括: 在采用第二協(xié)議的第二Hadoop系統(tǒng)上接收到訪問(wèn)文件的請(qǐng)求; 根據(jù)所述請(qǐng)求,確定文件所在主節(jié)點(diǎn)的版本信息; 根據(jù)所述版本信息確定所述主節(jié)點(diǎn)屬于采用第一協(xié)議的第一Hadoop系統(tǒng); 運(yùn)行兼容訪問(wèn)接口調(diào)用所述第二Hadoop系統(tǒng)中與所述請(qǐng)求對(duì)應(yīng)的第二方法,且將所 述第二方法中的對(duì)象轉(zhuǎn)換為所述第一Hadoop系統(tǒng)中與所述請(qǐng)求對(duì)應(yīng)的第一方法中的對(duì) 象; 將所述第二方法所屬的包的名稱(chēng),由所述第二Hadoop系統(tǒng)能識(shí)別的包名轉(zhuǎn)換為所述 第一Hadoop系統(tǒng)能識(shí)別的包名; 將轉(zhuǎn)換后的包發(fā)送給所述主節(jié)點(diǎn)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述請(qǐng)求,確定文件所在主節(jié)點(diǎn) 的版本信息,包括: 讀取所述第二Hadoop系統(tǒng)的配置文件,確定hdfs類(lèi)型的文件由所述兼容訪問(wèn)接口處 理; 在所述配置文件中查找節(jié)點(diǎn)列表,獲得所述文件所在主節(jié)點(diǎn)的版本信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述配置文件中查找節(jié)點(diǎn)列表,獲 得所述文件所在主節(jié)點(diǎn)的版本信息,包括: 在所述配置文件中查找節(jié)點(diǎn)列表; 如果所述節(jié)點(diǎn)列表中包括所述主節(jié)點(diǎn),則獲知所述主節(jié)點(diǎn)屬于所述第一Hadoop系統(tǒng); 如果所述節(jié)點(diǎn)列表中不包括所述主節(jié)點(diǎn),則獲知所述主節(jié)點(diǎn)屬于所述第二Hadoop系 統(tǒng)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在采用第二協(xié)議的第二Hadoop系統(tǒng) 上接收到訪問(wèn)文件的請(qǐng)求之前,還包括: 對(duì)所述第二Hadoop系統(tǒng)的包進(jìn)行重命名,以使重命名后的包名與所述第一Hadoop系 統(tǒng)中的包名不重復(fù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述第二方法所屬的包的名稱(chēng),由 所述第二Hadoop系統(tǒng)能識(shí)別的包名轉(zhuǎn)換為所述第一Hadoop系統(tǒng)能識(shí)別的包名,包括: 調(diào)用輸出對(duì)象方法,將所述第二方法所屬的包的名稱(chēng),由所述第二Hadoop系統(tǒng)能識(shí)別 的包名,恢復(fù)為重命名之前的所述第一Hadoop系統(tǒng)能識(shí)別的包名。
6. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 當(dāng)接收到所述主節(jié)點(diǎn)發(fā)送的包時(shí),調(diào)用輸入對(duì)象方法,按照與所述重命名相同的方式, 將所述接收到的包的名稱(chēng),由所述第一Hadoop系統(tǒng)能識(shí)別的包名轉(zhuǎn)換為所述第二Hadoop 系統(tǒng)能識(shí)別的包名; 運(yùn)行所述兼容訪問(wèn)接口處理所述轉(zhuǎn)換后的包。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,所述第一協(xié)議為遠(yuǎn)程過(guò)程調(diào) 用RPC協(xié)議,所述第二協(xié)議為協(xié)議緩沖PB協(xié)議。
8. -種實(shí)現(xiàn)Hadoop兼容性的裝置,其特征在于,所述裝置包括: 接收模塊,用于在采用第二協(xié)議的第二Hadoop系統(tǒng)上接收到訪問(wèn)文件的請(qǐng)求; 確定模塊,用于根據(jù)所述請(qǐng)求,確定文件所在主節(jié)點(diǎn)的版本信息,根據(jù)所述版本信息確 定所述主節(jié)點(diǎn)屬于采用遠(yuǎn)程過(guò)程調(diào)用RPC協(xié)議的第一 Hadoop系統(tǒng); 第一處理模塊,用于運(yùn)行兼容訪問(wèn)接口調(diào)用所述第二Hadoop系統(tǒng)中與所述請(qǐng)求對(duì)應(yīng) 的第二方法,且將所述第二方法中的對(duì)象轉(zhuǎn)換為所述第一 Hadoop系統(tǒng)中與所述請(qǐng)求對(duì)應(yīng) 的第一方法中的對(duì)象; 第二處理模塊,用于將所述第二方法所屬的包的名稱(chēng),由所述第二Hadoop系統(tǒng)能識(shí)別 的包名轉(zhuǎn)換為所述第一 Hadoop系統(tǒng)能識(shí)別的包名; 發(fā)送模塊,用于將轉(zhuǎn)換后的包發(fā)送給所述主節(jié)點(diǎn)。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述確定模塊包括: 讀取單元,用于讀取所述第二Hadoop系統(tǒng)的配置文件,確定hdfs類(lèi)型的文件由所述兼 容訪問(wèn)接口處理; 查找單元,用于在所述配置文件中查找節(jié)點(diǎn)列表,獲得所述文件所在主節(jié)點(diǎn)的版本信 肩、。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述查找單元用于: 在所述配置文件中查找節(jié)點(diǎn)列表; 如果所述節(jié)點(diǎn)列表中包括所述主節(jié)點(diǎn),則獲知所述主節(jié)點(diǎn)屬于所述第一 Hadoop系統(tǒng); 如果所述節(jié)點(diǎn)列表中不包括所述主節(jié)點(diǎn),則獲知所述主節(jié)點(diǎn)屬于所述第二Hadoop系 統(tǒng)。
11. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 重命名模塊,用于在所述接收模塊接收所述請(qǐng)求之前,對(duì)所述第二Hadoop系統(tǒng)的包進(jìn) 行重命名,以使重命名后的包名與所述第一 Hadoop系統(tǒng)中的包名不重復(fù)。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述第二處理模塊包括: 輸出轉(zhuǎn)換單元,用于調(diào)用輸出對(duì)象方法,將所述第二方法所屬的包的名稱(chēng),由所述第二 Hadoop系統(tǒng)能識(shí)別的包名,恢復(fù)為重命名之前的所述第一 Hadoop系統(tǒng)能識(shí)別的包名。
13. 根據(jù)權(quán)利要求11所述的裝置,其特征在于, 所述接收模塊還用于:接收所述主節(jié)點(diǎn)發(fā)送的包; 所述第二處理模塊還包括: 輸入轉(zhuǎn)換單元,用于當(dāng)所述接收模塊接收到所述主節(jié)點(diǎn)發(fā)送的包時(shí),調(diào)用輸入對(duì)象方 法,按照與所述重命名相同的方式,將所述接收到的包的名稱(chēng),由所述第一 Hadoop系統(tǒng)能 識(shí)別的包名轉(zhuǎn)換為所述第二Hadoop系統(tǒng)能識(shí)別的包名; 所述第一處理模塊還用于:運(yùn)行所述兼容訪問(wèn)接口處理所述輸入轉(zhuǎn)換單元轉(zhuǎn)換后的 包。
14. 根據(jù)權(quán)利要求8至13中任一項(xiàng)所述的裝置,其特征在于,所述第一協(xié)議為遠(yuǎn)程過(guò)程 調(diào)用RPC協(xié)議,所述第二協(xié)議為協(xié)議緩沖PB協(xié)議。
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種實(shí)現(xiàn)Hadoop兼容性的方法和裝置,屬于通信領(lǐng)域。所述方法包括:在采用第二協(xié)議的第二Hadoop系統(tǒng)上接收到訪問(wèn)文件的請(qǐng)求;確定文件所在主節(jié)點(diǎn)的版本信息及主節(jié)點(diǎn)屬于采用第一協(xié)議的第一Hadoop系統(tǒng);運(yùn)行兼容訪問(wèn)接口調(diào)用第二Hadoop系統(tǒng)中與該請(qǐng)求對(duì)應(yīng)的第二方法,且將其中的對(duì)象轉(zhuǎn)換為第一Hadoop系統(tǒng)中與該請(qǐng)求對(duì)應(yīng)的第一方法中的對(duì)象;將第二方法所屬的包的名稱(chēng)由第二Hadoop系統(tǒng)能識(shí)別的包名轉(zhuǎn)換為第一Hadoop系統(tǒng)能識(shí)別的包名,然后發(fā)送給主節(jié)點(diǎn)。所述裝置包括:接收模塊、確定模塊、第一處理模塊、第二處理模塊和發(fā)送模塊。本發(fā)明實(shí)現(xiàn)了基于不同協(xié)議的第一和第二Hadoop系統(tǒng)之間的兼容性,豐富了Hadoop系統(tǒng)的功能。
【IPC分類(lèi)】H04L29-06, G06F17-40, G06F17-30
【公開(kāi)號(hào)】CN104753874
【申請(qǐng)?zhí)枴緾N201310745774
【發(fā)明人】王聯(lián)輝, 鮑春健, 李均, 徐釗, 翟艷堂, 高進(jìn)朝, 陳鵬
【申請(qǐng)人】騰訊數(shù)碼(天津)有限公司
【公開(kāi)日】2015年7月1日
【申請(qǐng)日】2013年12月25日