1. 程式人生 > >HDFS客戶端搭建與Java API操作HDFS

HDFS客戶端搭建與Java API操作HDFS

HDFS客戶端搭建

為什麼不建議使用叢集內操作? 如果每一次上傳檔案都是選擇某一臺DN作為客戶端,就會導致這個節點上的磁碟以及網路I0負載超過其他的節點,久而久之這個節點的磁碟以及網絡卡效能遠遠低於其他節點,從而會導致資料的傾斜問題。

配置叢集客戶端的步驟: 1、找一臺新的伺服器,這臺伺服器必須能夠與叢集通訊 2、將配置好的安裝包原封不動的拷貝到新的伺服器 3、配置環境變數方便操作HDFS叢集

Java API操作HDFS

1.配置Hadoop環境變數以及使用者名稱 新增環境變數HADOOP_HOME,值填寫Hadoop的解壓目錄。 新增環境變數HADOOP_USER_NAME,值填寫root,這是為了避免出現無許可權操作檔案的問題。 在這裡插入圖片描述

2.配置系統的hosts檔案 修改C:\Windows/system32/drivers/etc/hosts 新增node節點對應的IP

3.配置eclipse外掛 在eclipse安裝目錄dropins建立plugins目錄,將hadoop-eclipse-plugin-2.6.0.jar放在裡面。 重啟eclipse。 在eclipse中切換MapReduce檢視,配置Namenode所在伺服器以及埠資訊: 在這裡插入圖片描述

4.即可在eclipse中看到HDFS中的檔案列表 在這裡插入圖片描述

5.新建一個專案,匯入jar包,並新增到classpath。 在這裡插入圖片描述 將Hadoop安裝目錄中的hdfs-site.xml、core-site.xml放到source目錄下。

6.操作HDFS

#列出HDFS檔案列表
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
FileStatus[] statu = fs.listStatus(new Path(args[0]));
Path [] listPaths=FileUtil.stat2Paths(statu);
for(Path p:listPaths){
	System.out.println(p);
}