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包


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM