使用Eclipse我已经构建了一个MapReduce应用程序。它还使用HCatalog和Hive jar文件。这个应用程序是在本地Hadoop安装的Eclipse项目中开发的。所有必要的jar文件都只是从Hadoop和Hive安装在本地节点上的目录中包含在Eclipse项目中。
现在我需要运行这个应用程序。在其他地方安装的多节点Hadoop上。请告知tp在单个应用程序中包装所有必需的罐子的最佳方式。或者我应该在我计划运行应用程序的节点上设置CLASSPATH?在Eclipse中构建一个自给自足的jar会很好。
谢谢!
答案 0 :(得分:1)
Maven是一个非常好的构建工具 - http://maven.apache.org/ 它可以将所有类打包在jar中,也可以在其中添加所有需要的jar库。
您可以将现有项目转换为Maven,方法是右键单击项目并选择菜单Configure>转换为maven项目。然后在pom.xml中添加所需的依赖项。
示例依赖项看起来像。
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.0.0-cdh4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-auth</artifactId>
<version>2.0.0-cdh4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.0.0-cdh4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>2.0.0-mr1-cdh4.0.1</version>
</dependency>
另见http://hadoopi.wordpress.com/2013/05/25/setup-maven-project-for-hadoop-in-5mn/