需求:已在vmware中部署好了hadoop集羣,現在需通過window系統上eclipse連接hadoop進行開發。
一、配置hadoop環境
在window系統上配置hadoop環境。目前利用hadoop版本爲hadoop-2.7.2。下載或者編譯好hadoop2.7.2後,環境配置如下
配置HADOOP_HOME
配置path
配置好hadoop環境後,在cmd中測試是否生效
命令:hadoop version
注:在配置hadoop之前一定要配置好JDK環境。
二、配置eclipse遠程連接hadoop環境
若想在eclipse中開發hadoop,需配置eclipse環境。下載hadoop-eclipse-plugin-2.7.2.jar,下載的jar包複製到plugins中,然後重啓eclipse,在eclipse中配置前面下載的hadoop-2.7.2
打開hadoop視圖
然後配置連接hadoop集羣的信息
配置正確hadoop的信息後,可以在eclipse目錄中查看HDFS的目錄信息
三、HDFS demo示例
注意首先要配置好maven,最好不用ecliopse嵌入的maven,樓主試用demo時有問題,部分jar包下不來。
首先創建一個maven工程,在pom中添加如下依賴:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lzj</groupId>
<artifactId>hdfs</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>
</project>
然後在main/resources下創建log4j.properties,配置日誌:
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
創建開發測試案例:
package com.lzj.hdfs;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HadoopTest {
public static void main(String[] args) throws Exception {
Configuration config = new Configuration();
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.85.137:9000"), config, "root");
fs.mkdirs(new Path("/user/bird"));
fs.close();
System.out.println("success!");
}
}
工程目錄如下:
下面啓動上面的HadoopTest案例,運行成功後可以在HDFS系統上看到創建了一個bird目錄,如圖所示:
成功!