zoukankan      html  css  js  c++  java
  • Ubuntu14.04或16.04下Hadoop及Spark的开发配置

    对于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依赖即可。当然,这个不是件特别重要的事。

    愿世界和平。

  • 相关阅读:
    215. Kth Largest Element in an Array (have better solution )
    414. Third Maximum Number
    442. Find All Duplicates in an Array
    448. Find All Numbers Disappeared in an Array
    485. Max Consecutive Ones
    532. K-diff Pairs in an Array
    8. String to Integer (atoi)
    7. Reverse Integer
    [CTSC2012]熟悉的文章(广义后缀自动机+二分答案+单调队列优化DP)
    BZOJ 2119 股市的预测(后缀数组)
  • 原文地址:https://www.cnblogs.com/shixiangwan/p/6182941.html
Copyright © 2011-2022 走看看