1. 程式人生 > >Ubuntu配置Eclipse + Hadoop環境

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註釋:
在這裡插入圖片描述