Hadoop 2.0 编译问题小结

这些问题是2013年初整理的,不过到目前为止,即使最新的hadoop2.0系列,编译总体上变化不大,因此还能适用。
执行命令: mvn package -Pdist,native -DskipTests -Dtar
 
1. [ERROR] Failed to execute goal org.codehaus.mojo:make-maven-plugin:1.0-beta-1:autoreconf (compile) on project hadoop-common: autoreconf command returned an exit value != 0. Aborting build; see debug output for more information. -> [Help 1]
原因: 未安装autotool
解决方法:  sudo apt-get install autocong
                sudo apt-get install automake
                sudo apt-get install libtool
 
2. [ERROR] Failed to execute goal org.codehaus.mojo:make-maven-plugin:1.0-beta-1:configure (compile) on project hadoop-common: ./configure returned an exit value != 0. Aborting build; see command output above for more information. -> [Help 1]
原因: configure: error: Native java headers not found. Is $JAVA_HOME set correctly?
解决方法: ubuntu已安装的为open jdk, 需要sun的jdk, 从虚拟机复制下来, 然后指定JAVA_HOME
  jdk的安装: 下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html
                  chmod +x jdk-6u43-linux-i586.bin
                  ./jdk-6u43-linux-i586.bin
 
3. [INFO] configure: error: Zlib headers were not found... native-hadoop library needs zlib to build. Please install the requisite zlib development package.
原因: 未安装zlibc
解决方法: 安装 sudo apt-get install --reinstall zlibc zlib1g zlib1g-dev
 
4. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (make) on project hadoop-pipes: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in directory "/home/yuling.sh/trunk/hadoop-tools/hadoop-pipes/target/native"): java.io.IOException: error=2, No such file or directory -> [Help 1]
解决方法: sudo apt-get install cmake
 
5.  [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:exec (generate-sources) on project hadoop-yarn-api: Command execution failed. Cannot run program "protoc" (in directory "/home/ads/build25_5u4_x64/workspace/t_dp_hadoop2/t_dp_hadoop2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api"): java.io.IOException: error=2, No such file or directory -> [Help 1]
机器上未安装protobuf导致
6.     [exec] -- Configuring incomplete, errors occurred!
    [exec] CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:66 (MESSAGE):
    [exec]  Could NOT find OpenSSL
    [exec] Call Stack (most recent call first):
    [exec]  CMakeLists.txt:20 (find_package)
  本机出错,  虚拟机上编译成功
The OpenSSL library is usually already installed, but you have to install the header files. Depending on your Linux distribution, you'll need these packages:
 
    Red Hat, Fedora, CentOS - openssl-devel  http://rpm.corp.taobao.com/find.php?q=openssl-devel+++++&t=yum&d=0
    Debian, Ubuntu - libssl-dev   sudo apt-get install libssl-dev
    Arch - openssl
 
7. native的编译问题, 应该在运行的环境下编译, 然后打jar包.
  1.0环境下是使用已有的native包
posted @ 2014-02-23 20:43  南国故人(Wall)  阅读(4587)  评论(0编辑  收藏  举报