【问题标题】:How to compile Hadoop for 64-bit Linux machine?如何为 64 位 Linux 机器编译 Hadoop?
【发布时间】:2013-12-28 15:40:36
【问题描述】:

我已经下载了 Hadoop (2.2.0) 的最新稳定二进制文件。就在我初始化 HDFS 时,我收到了这个警告:

WARN util.NativeCodeLoader: 无法加载 native-hadoop 库 您的平台...在适用的情况下使用内置 java 类

我知道我可以通过从源代码编译来解决此问题,因此我从 Hadoop 下载了源代码包。我知道编译的基本过程,但在阅读自述文件后感到困惑。快速谷歌显示我必须为此使用 maven,这是一个构建基于 java 的项目的工具。

所以我的问题是,如何使用 maven 从源代码编译 Hadoop?我应该进入每个目录并编译每个模块吗?分步指南将非常有帮助,我们将不胜感激。

【问题讨论】:

    标签: java maven hadoop compilation maven-2


    【解决方案1】:

    提取源代码后,您会在如下位置找到一个超级 pom。 \hadoop-2.2.0-src.tar\hadoop-2.2.0-src\hadoop-2.2.0-src\pom.xml 这将构建所有模块。 您可以使用命令构建:mvn clean install

    您应该注意到如下日志。

                [INFO] ------------------------------------------------------------------------
                [INFO] Reactor Build Order:
                [INFO]
                [INFO] Apache Hadoop Main
                [INFO] Apache Hadoop Project POM
                [INFO] Apache Hadoop Annotations
                [INFO] Apache Hadoop Project Dist POM
                [INFO] Apache Hadoop Assemblies
                [INFO] Apache Hadoop Maven Plugins
                [INFO] Apache Hadoop Auth
                [INFO] Apache Hadoop Auth Examples
                [INFO] Apache Hadoop Common
                [INFO] Apache Hadoop NFS
                [INFO] Apache Hadoop Common Project
                [INFO] Apache Hadoop HDFS
                [INFO] Apache Hadoop HttpFS
                [INFO] Apache Hadoop HDFS BookKeeper Journal
                [INFO] Apache Hadoop HDFS-NFS
                [INFO] Apache Hadoop HDFS Project
                [INFO] hadoop-yarn
                [INFO] hadoop-yarn-api
                [INFO] hadoop-yarn-common
                [INFO] hadoop-yarn-server
                [INFO] hadoop-yarn-server-common
                [INFO] hadoop-yarn-server-nodemanager
                [INFO] hadoop-yarn-server-web-proxy
                [INFO] hadoop-yarn-server-resourcemanager
                [INFO] hadoop-yarn-server-tests
                [INFO] hadoop-yarn-client
                [INFO] hadoop-yarn-applications
                [INFO] hadoop-yarn-applications-distributedshell
                [INFO] hadoop-mapreduce-client
                [INFO] hadoop-mapreduce-client-core
                [INFO] hadoop-yarn-applications-unmanaged-am-launcher
                [INFO] hadoop-yarn-site
                [INFO] hadoop-yarn-project
                [INFO] hadoop-mapreduce-client-common
                [INFO] hadoop-mapreduce-client-shuffle
                [INFO] hadoop-mapreduce-client-app
                [INFO] hadoop-mapreduce-client-hs
                [INFO] hadoop-mapreduce-client-jobclient
                [INFO] hadoop-mapreduce-client-hs-plugins
                [INFO] Apache Hadoop MapReduce Examples
                [INFO] hadoop-mapreduce
    

    还有更多……

    但是,如果您只想使用 Hadoop,这是一个漫长的过程。 您应该能够使用现有的库。 可能是一些配置问题。

    其他选项是 Cloudera。我已经在 RedHat Linux 上安装了它。

    http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Quick-Start/cdh4qs_topic_3.html

    祝你好运。

    【讨论】:

    • 我在想我需要本地构建的 Hadoop 来避免兼容性问题,并且可能会稍微提高性能。如果我使用 Hadoop 二进制文件,这真的很重要吗?它会更慢还是什么?我也想知道为什么他们默认使用 32 位。
    【解决方案2】:

    考虑使用Apache Bigtop 构建Hadoop。

    恕我直言,这是您自己编译 Hadoop 最方便的方式,只要您只需要“mainsteam”组件和稳定版本即可。

    【讨论】:

    • 能分享一下SVN位置吗
    • 查看主页的当前位置。
    猜你喜欢
    • 1970-01-01
    • 2012-06-20
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多