Ubuntu配置Eclipse + Hadoop環境
Hadoop偽分佈搭建:https://blog.csdn.net/qq_38038143/article/details/83144840
Hadoop叢集搭建:https://blog.csdn.net/qq_38038143/article/details/83050840
本次環境為,Hadoop2.7.3,Hadoop叢集。
1. 官網下載linux版eclipse
官網:https://www.eclipse.org/downloads/packages/
安裝Hadoop-Eclipse-Plugin外掛:https://download.csdn.net/download/qq_38038143/10745367
2. 配置
2.1解壓Eclipse:
tar -zxvf eclipse-committers-2018-09-linux-gtk-x86_64.tar.gz -C ~/
2.2將 hadoop-eclipse-plugin.rar中的 jar檔案 複製到 eclipse/plugins 目錄下:
使用Ubuntu自帶檔案,進入eclipse解壓目錄,右鍵eclipse執行,並選擇工作目錄:
注:eclipse的其他配置如自動提示、註解作者時間等請百度。
2.3選擇 Window 下的 Show View 和 Other:
找到MapReduce Tools,選擇點選Open:
2.4選擇 Window 下的 Preferences:
因為在plugins目錄下添加了hadoop-eclipse-plugin檔案,所以可以看到Hadoop Map/Reduce,選中並選擇Hadoop的安裝目錄:
2.5選擇 Window 下的 Preferences:
定義Hadoop叢集的連結:
新建Hadoop Localtion:
注:master為在/etc/hosts 中新增的IP地址對映,若未新增對映,應寫主節點的IP地址。
上述配置參考core-site.xml配置檔案:
點選Finish後,Eclipse介面左端會出現DFSLocations,並且已連線上HDFS:
終端檢視:
3. 測試上傳檔案:
3.1 新建Map/Reduce 專案:
專案自動新增依賴:
3.2 建立java類:
建立UploadLocalFile2HDFS.java:
程式碼:
package pack1;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
/**
* @author: Gu Yongtao
* @Description:
* @date: 2018年10月26日
* @Filename: UploadLocalFile2HDFS.java
*/
public class UploadLocalFile2HDFS {
public static void main(String[] args) throws IOException, URISyntaxException {
Configuration conf = new Configuration();
URI uri = new URI("hdfs://master:9000");
FileSystem fs = FileSystem.get(uri, conf);
// 本地檔案
Path src = new Path("/home/hadoop/file");
//HDFS存放位置
Path dst = new Path("/");
fs.copyFromLocalFile(src, dst);
System.out.println("Upload to " + conf.get("fs.defaultFS"));
//相當於hdfs dfs -ls /
FileStatus files[] = fs.listStatus(dst);
for (FileStatus file:files) {
System.out.println(file.getPath());
}
}
}
點選執行 UploadLocalFile2HDFS 程式:
等待上傳完畢,控制檯輸出如下:
檢視HDFS檔案系統:
上傳成功。
3.3 若想解決log4j的警告資訊,可以新增如下設定:
在window視窗,點選General > Content Types > 在右側中間下拉 Text > Java Properties File:其預設編碼為ISO-8859-1,修改為UTF-8(若不使用中文可以不修改)。
修改為UTF-8,點選Update:
在 src 目錄下建立 log4j.properties 檔案:
log4j.properties 新增如下內容:
# Configure logging for testing: optionally with log file
#可以設定級別:debug>info>error
#debug:可以顯式debug,info,error
#info:可以顯式info,error
#error:可以顯式error
log4j.rootLogger=debug,appender1
#log4j.rootLogger=info,appender1
#log4j.rootLogger=error,appender1
#輸出到控制檯
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#樣式為TTCCLayout
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout
儲存後,重新執行 UploadLocalFile2HDFS ,控制檯將顯示debug資訊,控制檯文字過多可將debug註釋: