Hadoop实践(二)---集群和开发环境搭建(Intellij IDEA & Maven 开发Hadoop)

来源:互联网 发布:外婆的澎湖湾 知乎 编辑:程序博客网 时间:2024/05/20 11:36

1. 开发环境准备

1. Hadoop集群安装

  • 分布式集群搭建: http://blog.csdn.net/wee_mita/article/details/52750112
  • 详细的参数配置:http://blog.csdn.net/wee_mita/article/details/53911747

2. Maven安装

  • Maven软件的安装http://blog.csdn.net/wee_mita/article/details/52370050
  • Maven的配置:http://blog.csdn.net/wee_mita/article/details/60317352(在下载依赖的时候,国外的repository会比较慢,可以把Maven的中心仓库修改为国内的镜像站点)

3. Intellij IDEA安装

  • 官网下载对应系统的版本:https://www.jetbrains.com/idea/
  • IEDA使用指南:http://blog.csdn.net/wee_mita/article/details/70837618

2. 创建项目

1. 创建Maven项目

这里写图片描述

这里写图片描述

2. 输入GroupId 和 ArtifactId

这里写图片描述

新建项目后有提示 Maven project need to be imported ,选择导入

3. 修改pom.xml文件

根据hadoop版本添加相应的依赖版本

ps:编写代码需要用到什么依赖,就在pom.xml中添加相应的依赖即可

添加apache的源

repositories>    <repository>        <id>apache</id>        <url>http://maven.apache.org</url>    </repository></repositories>

Tips:在添加Hadoop生态系统相关的依赖时,使用<scope>provided</scope>,这样在生成的jar包中不包含这些依赖库,即在程序编译时使用这些依赖库,但是不把它们打包到最终的jar中,因为在运行hadoop作业的节点上都有这些依赖包,这样可以简化jar包的大小,优化了它在集群中的传输

Hadoop基础依赖:

hadoop-common
hadoop-core

需要访问HDFS时需要的2个依赖

hadoop-hdfs
hadoop-client

日志访问需要的依赖

log4j

配置log4j

在src/main/resources目录下新增log4j的配置文件log4j.properties,内容如下:

log4j.rootLogger = debug,stdout### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

开发HBase需要的依赖

hbase-client

开发Mahout需要的依赖

mahout-core

dependencies>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.12</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-common</artifactId>            <version>2.7.3</version>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-hdfs</artifactId>            <version>2.7.3</version>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-mapreduce-client-core</artifactId>            <version>2.7.3</version>        </dependency>        <dependency>            <groupId>org.apache.hadoop</groupId>            <artifactId>hadoop-mapreduce-client-jobclient</artifactId>            <version>2.7.3</version>        </dependency>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>1.2.17</version>        </dependency>    </dependencies>

4. 添加本地依赖
通过修改工程结构的方式添加hadoop的本地依赖
这里写图片描述

这里写图片描述

需要添加的Hadoop本地依赖如下:

hadoop/share/hadoop/yarn
hadoop/share/hadoop/mapreduce
hadoop/share/hadoop/hdfs
hadoop/share/hadoop/commom
hadoop/share/hadoop/common/lib

5. 编写代码
src/main/java文件夹下创建Java类文件

6. IDE 调试

  1. 和src目录同级的目录中创建输入目录input
  2. 在IDE中进行运行参数的配置
    这里写图片描述

这里写图片描述

输入名字,找到主类,可以通过右侧的按钮搜索,输入运行时的参数配置分为本地路径和HDFS路径
这里写图片描述

  • HDFS上传文件等基本操作:http://blog.csdn.net/wee_mita/article/details/52517315

7. 打包

这里写图片描述

这里写图片描述

这里的“Directory for META-INF/MAINFEST.MF”修改为src/main/resources

这里写图片描述

这里写图片描述

创建一个lib文件夹,将第三方库都放在lib中

可以使用mvn命令打包(会在target中生成jar文件)也可是使用IDE打包,在src同级目录下生成out目录生成的jar包在该目录下

这里写图片描述

在/out/目录下生产需要的jar包

8. jar包发送到集群执行

yarn xx.jar args
阅读全文
0 0
原创粉丝点击