java—打包运行HadoopMapReduce应用程序所需的所有jar文件的好方法?

wribegjk  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(190)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

6年前关门了。
改进这个问题
我使用eclipse构建了一个mapreduce应用程序。它还使用hcatalog和hivejar文件。这个应用程序是在本地hadoop安装的eclipse项目中开发的。所有必需的jar文件都简单地包含在eclipse项目中,这些文件来自本地节点上安装hadoop和hive的目录。
现在我需要运行这个应用程序。在其他地方安装的多节点hadoop上。请建议最好的方法tp包在一个单一的应用程序所有必要的jar。或者我应该在计划运行应用程序的节点上设置classpath?在eclipse中构建一个单独的自给自足的jar就好了。
谢谢!

j2qf4p5b

j2qf4p5b1#

maven是一个非常好的构建工具-http://maven.apache.org/ 它可以将所有类打包到一个jar中,还可以在其中添加所有需要的jar库。
您可以将现有项目转换为maven,方法是右键单击该项目并选择菜单configure>converttomaven project。然后在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/

相关问题