Ubuntu14.04或16.04下Hadoop及Spark的开发配置

时间:2022-02-13 21:41:46

对于Hadoop和Spark的开发,最常用的还是Eclipse以及Intellij IDEA. 其中,Eclipse是免费开源的,基于Eclipse集成更多框架配置的还有MyEclipse。Intellij分为Community版和Ultimate版,前者免费,后者付费。付费版同样是集成了更多的框架便于开发,主要是针对web开发人员。这里我们讲述两个IDE的配置方法,并推荐使用Intellij完成配置。首先需要明确的是,本文的配置是基于Java语言,基于Scala语言配置Spark开发环境在Intellij下是相似且简单的,这里略过不提。

1. Eclipse下配置Hadoop及Spark开发环境

1.1 配置Hadoop开发环境

在Eclipse下配置开发环境有三种方案。均亲测有效。

方案一:基于普通的Java项目

第一步,将插件hadoop-eclipse-plugin-2.6.0.jar放在eclispe的plugins目录下,启动eclipse后,新建普通Java项目,在项目中引入两个依赖包:hadoop-common-2.6.2.jar,hadoop-core-0.20.205.0.jar;

此处提供下载:链接:http://pan.baidu.com/s/1i4XOQsl 密码:gjqg

第二步,在Preferences 中配置Hadoop的安装地址,运行项目时程序能够自动加载Hadoop安装目录下的jar包,至此配置完成。

这种方案在运行时需要选择“Run on Hadoop”选项运行,hadoop-eclipse-plugin-2.6.0.jar插件将会根据第二步中配置的Hadoop路径寻找jar包,因此最终打包后的jar包也最小,最小是6MB左右。打包后的jar包当然也需要使用hadoop jar命令执行,不支持java -jar命令执行。

方案二:基于Map Reduce项目

第一步,将插件hadoop-eclipse-plugin-2.6.0.jar放在eclispe的plugins目录下,启动eclipse后,新建Project,选择Map Reduce Project建立新项目;

第二步,在Preferences 中配置Hadoop的安装地址,运行项目时程序能够自动加载Hadoop安装目录下的jar包,至此配置完成。

这种方案下不用配置依赖,因为项目已经按照你装好的Hadoop自动装填依赖的jar包。缺点是最终打包后的jar包比较大,最小也有40MB左右,因为包含着所有的需要的Hadoop jar包。正因如此,打包后的jar包既可以使用hadoop jar命令执行,也支持java -jar命令执行。

方案三:基于Maven构建项目

直接新建Maven项目,在项目根目录的pom.xml中添加基础的Hadoop依赖项,maven将会自动引入依赖。添加后可能如下所示。

<?xml version="1.0" encoding="UTF-8"?>
<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>malab</groupId>
<artifactId>hadoop</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build> <!--这是需要的添加的依赖,按需添加,下面的只是基本配置-->
<dependencies>
<!--hadoop-->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0</version>
</dependency>
</dependencies> </project>

添加后,静静等上几分钟(取决于网速),就配置完成了。

1.2 配置Spark开发环境:基于Maven构建项目(官网推荐)

在pom.xml中<dependencies></dependencies>添加依赖项(官网上有说明配置信息:http://spark.apache.org/docs/latest/programming-guide.html):

    <dependencies>
<!--spark-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.0.2</version>
</dependency>
<!--ml-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_2.10</artifactId>
<version>2.0.2</version>
</dependency>
<!--sql-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>2.0.2</version>
</dependency>
<!--streaming-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.10</artifactId>
<version>2.0.2</version>
</dependency>
<!--hive-->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.10</artifactId>
<version>2.0.2</version>
</dependency> <!--hadoop-->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0</version>
</dependency>
</dependencies>

显然,以上配置把所有的spark常用的hadoop用到的jar包依赖都配置了。

2. Intellij下配置Hadoop及Spark开发环境(推荐)

由于Intellij下没有插件直接支持,因此推荐使用Maven构建。

第一步,新建project,选择maven,然后一路下一步,完成后配置pom.xml即可。pom.xml文件配置的<dependencies></dependencies>中的内容与1.2节中一致。

第二步,到此开发环境配置完成。

maven配置下导出的jar包会比较大,因为包含了很多maven配置的依赖。如果你想要小一点的导出结果,删除导出的maven依赖即可。当然,这个不是件特别重要的事。

愿世界和平。