IDE下的MapReduce开发
在学校上Hadoop的课,Group Project要写一些MapReduce,学校给了cluster,但是在cluster上直接开vim写JAVA着实不怎么习惯。于是折腾了一下踩了些坑,在这里记录一下。
Git部署代码
首先想到的最方便的方式其实是用git。我平时写Python之类的脚本的时候就是用Git管理,然后Server上clone一个repo,就同步了。
但是发现这样的话我要单独写一个Makefile,管理编译等问题。
于是想到用IDE远程调试MapReduce.
Intellij IDEA 开发MapReduce
Eclipse是有MapReduce插件的,安装好以后很方便各种调试。可我平时写JAVA比较习惯Intellij, 于是就找了一下intellij下的方案。
Maven来开发MapReduce
安装maven
brew install maven
在IntelliJ里面,右键项目,’Add Frameword support…’
选择maven
pom.xml的内容:
?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>4480Group16</groupId>
<artifactId>stochastic</artifactId>
<version>0.1</version>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-jobclient</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>
会问你是否import,选择auto import bulabula
Edit Configuration 里,选择application,将program argument填上你hdfs里的input和output path。
然后在main/java里面写code,打包jar部署。基本搞定