溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么進(jìn)行原h(huán)adoop中RPC通信文件上傳原理的分析

發(fā)布時間:2021-12-03 17:56:39 來源:億速云 閱讀:153 作者:柒染 欄目:云計(jì)算

本篇文章給大家分享的是有關(guān)怎么進(jìn)行原h(huán)adoop中RPC通信文件上傳原理的分析,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

01    //APP2中調(diào)用的代碼
02    public static final String HDFS_PATH = "hdfs://hadoop:9000/hello";
03        public static final String DIR_PATH = "/d1000";
04        public static final String FILE_PATH = "/d1000/f10000";
05     
06        public static void main(String[] args) throws Exception {
07            FileSystem fileSystem = FileSystem.get(new URI(HDFS_PATH),
08                    new Configuration());
09            // //創(chuàng)建文件
10            // fileSystem.mkdirs(new Path(DIR_PATH));
11            // //上傳文件
12            // FSDataOutputStream out = fileSystem.create(new Path(FILE_PATH));
13            // FileInputStream in = new FileInputStream("c:/hello.txt");
14            // IOUtils.copyBytes(in, out, 1024,true);
15            // //下載數(shù)據(jù)
16            // FSDataInputStream in1 = fileSystem.open(new Path(FILE_PATH));
17            // IOUtils.copyBytes(in1, System.out, 1024,true);
18     
19            // 刪除文件夾
20            deleteFile(fileSystem);
21        }
22     
23        private static void deleteFile(FileSystem fileSystem) throws IOException {
24            fileSystem.delete(new Path(FILE_PATH), true);
25            
26        }



注:RPC(remote procedure call)

  不同java進(jìn)程間的對象方法的調(diào)用。一方稱作服務(wù)端(server),一方稱作客戶端(client)。

   server端提供對象,供客戶端調(diào)用的,被調(diào)用的對象的方法的執(zhí)行發(fā)生在server端。

  RPC是hadoop框架運(yùn)行的基礎(chǔ)。

rpc通信

上圖為RPC通信調(diào)用的一系列方法最終達(dá)到把文件寫入到linux文件系統(tǒng)中的過程,但是由于hadoop中hdfs分布式文件系統(tǒng)的API封裝的特別 好,讓調(diào)用者感覺不到這個復(fù)雜的過程,對用戶或者程序而言實(shí)際是通過網(wǎng)絡(luò)來訪問文件的動作,但對用戶看來就像訪問本地磁盤一樣,充分體現(xiàn)了通透性....

   綜上:對于HDFS的操作在應(yīng)用中只需掌握FileSystem,而不需要關(guān)注數(shù)據(jù)是存放在DataNode的哪個塊中(因?yàn)檫@個工作時交給NameNode的)....

  注意:雖然客戶端上傳數(shù)據(jù)的時候是通過DataStreamer向NameNode申請block塊和blockid,但是數(shù)據(jù)的傳輸行為并不是通過NameNode轉(zhuǎn)的,而是與DataNode直接連接!!


  • 15023619_vEwU.jpg(127.44 KB, 下載次數(shù): 0)

    怎么進(jìn)行原h(huán)adoop中RPC通信文件上傳原理的分析

以上就是怎么進(jìn)行原h(huán)adoop中RPC通信文件上傳原理的分析,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI