天天看點

10hdfsapi第一個案例

hdfsapi第一個案例(先建立一個包)

10hdfsapi第一個案例

本地上傳檔案到hdfs

10hdfsapi第一個案例
10hdfsapi第一個案例
10hdfsapi第一個案例
10hdfsapi第一個案例

然後就可以直接運作

在終端輸入檢視指令,發現使用者名是Windows的使用者名

10hdfsapi第一個案例

是以需要開啟權限

10hdfsapi第一個案例

開啟完權限後,分發到其他節點

10hdfsapi第一個案例

然後可以運作,但是發現報錯(因為使用者權限不對,需要修改為指定的使用者)

10hdfsapi第一個案例

是以需要修改使用者檔案權限

有以下三種方法是修改使用者權限的操作

第一種

vm options:

-DHADOOP_USER_NAME=root

10hdfsapi第一個案例
10hdfsapi第一個案例

第二種

設定系統環境變量

System.setProperty("HADOOP_USER_NAME","root");

10hdfsapi第一個案例

第三種

擷取操作hdfs的用戶端時,可以指定user參數

FileSystem fs = FileSystem.get(new URI("hdfs://hadoop0001:9000"), conf, "root");

10hdfsapi第一個案例

也就是說,權限開啟之後,要修改權限

擷取檔案系統的用戶端的方式:擷取操作對象的6種方式

10hdfsapi第一個案例

10hdfsapi第一個案例
10hdfsapi第一個案例
10hdfsapi第一個案例

到此上傳操作就OK了

下載下傳檔案的環境配置、調用本地api

10hdfsapi第一個案例

是因為用的是分布式檔案系統去操作本地檔案是沒有權限的,是以報錯(差的就是沒有操作本地檔案系統的權限)

10hdfsapi第一個案例

是以需要搭一個本地hadoop環境。

可以将下面的檔案夾解壓到任務的目錄下面

是以要把這檔案解壓出來,然後配置環境變量,HADOOP_HOME     path裡面配置以下path

10hdfsapi第一個案例
10hdfsapi第一個案例

然後就可以直接執行下載下傳。

如果沒有配置本地環境,需要操作怎麼辦。可以把參數設定為本地

10hdfsapi第一個案例
10hdfsapi第一個案例

但是一般是  用shell腳本寫程式,然後Linux 直接調用就可以了