zoukankan      html  css  js  c++  java
  • Hadoop 2.2.0 在CentOS6.2 64位下的编译

    最近在学习搭建Hadoop,直接从Apache官方网站直接下载最新版本Hadoop2.2,结果运行时发现提示 “libhadoop.so.1.0.0 which might have disabled stack guard” 的警告。Google了一下发现是因为 hadoop 2.2.0提供的是libhadoop.so库是32位的,而我们的机器是64位。 所以需要重新在64位的机器上编译hadoop。

    1、安装JDK

    下载JDK1.7的Linux 64位版本jdk-7u15-linux-x64.tar.gz,解压。下载地址http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html

     

    1 tar -xvf jdk-7u15-linux-x64.tar.gz
    2 mv jdk-7u15-linux-x64/ /opt/jdk1.7

    然后配置环境变量

    vim /etc/profile

    在最后添加

    export JAVA_HOME=/opt/jdk1.7
    export PATH=$PATH:$JAVA_HOME/bin

    保存退出,使配置生效

    source /etc/profile

    2、安装各种依赖包

    yum install gcc gcc-c++ make cmake openssl-devel ncurses-devel

    3、安装protoc 2.5.0

    hadoop2.2.0编译需要protoc2.5.0的支持,所以还要下载protoc,下载地址:https://code.google.com/p/protobuf/downloads/list。不过google最近貌似被完全墙了,原因你懂的,传到百度网盘了,下载地址:http://pan.baidu.com/s/1rP1hW,开始安装

    tar –xvf protobuf-2.5.0.tar.gz
    cd protobuf-2.5.0
    mkdir /opt/protoc
    ./configure --prefix=/opt/protoc
    make && make install

     4、安装Maven

    下载Maven3.1.1,下载地址:http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz

    tar -xvf apache-maven-3.1.1-bin.tar.gz
    mv apache-maven-3.1.1 /opt/maven/

    然后配置环境变量,在最后加入

    export MAVEN_HOME=/opt/maven 
    export PATH=$PATH:$MAVEN_HOME/bin

    保存退出,使配置生效

    source /etc/profile

    验证配置是否成功: 

    mvn -version
    Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 23:22:22+0800)
    Maven home: /opt/maven
    Java version: 1.7.0_60, vendor: Oracle Corporation
    Java home: /opt/jdk1.7/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "2.6.32-220.el6.x86_64", arch: "amd64", family: "unix"

    5、配置Maven镜像

    由于maven国外服务器可能连不上,先给maven配置一下国内镜像

    vi /opt/maven/conf/settings.xml

    在<mirrors></mirros>里添加:

    <mirror>
         <id>nexus-osc</id>
         <mirrorOf>*</mirrorOf>
         <name>Nexusosc</name>
         <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror>

    在<profiles></profiles>内添加

    <profile>
         <id>jdk-1.7</id>
         <activation>
           <jdk>1.7</jdk>
         </activation>
         <repositories>
           <repository>
             <id>nexus</id>
             <name>local private nexus</name>
             <url>http://maven.oschina.net/content/groups/public/</url>
             <releases>
               <enabled>true</enabled>
             </releases>
             <snapshots>
               <enabled>false</enabled>
             </snapshots>
           </repository>
         </repositories>
         <pluginRepositories>
           <pluginRepository>
             <id>nexus</id>
             <name>local private nexus</name>
             <url>http://maven.oschina.net/content/groups/public/</url>
             <releases>
               <enabled>true</enabled>
             </releases>
             <snapshots>
               <enabled>false</enabled>
             </snapshots>
           </pluginRepository>
         </pluginRepositories>
    </profile>

    6、给Hadoop 打补丁

    下载Hadoop2.2.0源码包,地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz

    或者:http://mirror.bit.edu.cn/apache/hadoop/core/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz

    解压:

    tar –xvf hadoop-2.2.0-src.tar.gz

    目前的2.2.0 的Source Code 压缩包解压出来的code有个bug 需要patch后才能编译。否则编译hadoop-auth 会提示下面错误:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:testCompile (default-testCompile) on project hadoop-auth: Compilation failure: Compilation failure:
    [ERROR] /home/chuan/trunk/hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/client/AuthenticatorTestCase.java:[84,13] cannot access org.mortbay.component.AbstractLifeCycle
    [ERROR] class file for org.mortbay.component.AbstractLifeCycle not found

    下载补丁文件:https://issues.apache.org/jira/browse/HADOOP-10110

    若不能下载,使用:http://pan.baidu.com/s/1kTkfAgZ

    下载后放到目录hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/下,然后

    cd hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/
    patch < HADOOP-10110.patch

    7、编译Hadoop

    进入hadoop源码包根目录进行编译

    cd hadoop-2.2.0-src
    mvn package -Pdist,native -DskipTests -Dtar

    然后就是漫长的等待………………

    若看到以下内容说明编译成功:

    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] Apache Hadoop Main ................................ SUCCESS [3.709s]
    [INFO] Apache Hadoop Project POM ......................... SUCCESS [2.229s]
    [INFO] Apache Hadoop Annotations ......................... SUCCESS [5.270s]
    [INFO] Apache Hadoop Assemblies .......................... SUCCESS [0.388s]
    [INFO] Apache Hadoop Project Dist POM .................... SUCCESS [3.485s]
    [INFO] Apache Hadoop Maven Plugins ....................... SUCCESS [8.655s]
    [INFO] Apache Hadoop Auth ................................ SUCCESS [7.782s]
    [INFO] Apache Hadoop Auth Examples ....................... SUCCESS [5.731s]
    [INFO] Apache Hadoop Common .............................. SUCCESS [1:52.476s]
    [INFO] Apache Hadoop NFS ................................. SUCCESS [9.935s]
    [INFO] Apache Hadoop Common Project ...................... SUCCESS [0.110s]
    [INFO] Apache Hadoop HDFS ................................ SUCCESS [1:58.347s]
    [INFO] Apache Hadoop HttpFS .............................. SUCCESS [26.915s]
    [INFO] Apache Hadoop HDFS BookKeeper Journal ............. SUCCESS [17.002s]
    [INFO] Apache Hadoop HDFS-NFS ............................ SUCCESS [5.292s]
    [INFO] Apache Hadoop HDFS Project ........................ SUCCESS [0.073s]
    [INFO] hadoop-yarn ....................................... SUCCESS [0.335s]
    [INFO] hadoop-yarn-api ................................... SUCCESS [54.478s]
    [INFO] hadoop-yarn-common ................................ SUCCESS [39.215s]
    [INFO] hadoop-yarn-server ................................ SUCCESS [0.241s]
    [INFO] hadoop-yarn-server-common ......................... SUCCESS [15.601s]
    [INFO] hadoop-yarn-server-nodemanager .................... SUCCESS [21.566s]
    [INFO] hadoop-yarn-server-web-proxy ...................... SUCCESS [4.754s]
    [INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [20.625s]
    [INFO] hadoop-yarn-server-tests .......................... SUCCESS [0.755s]
    [INFO] hadoop-yarn-client ................................ SUCCESS [6.748s]
    [INFO] hadoop-yarn-applications .......................... SUCCESS [0.155s]
    [INFO] hadoop-yarn-applications-distributedshell ......... SUCCESS [4.661s]
    [INFO] hadoop-mapreduce-client ........................... SUCCESS [0.160s]
    [INFO] hadoop-mapreduce-client-core ...................... SUCCESS [36.090s]
    [INFO] hadoop-yarn-applications-unmanaged-am-launcher .... SUCCESS [2.753s]
    [INFO] hadoop-yarn-site .................................. SUCCESS [0.151s]
    [INFO] hadoop-yarn-project ............................... SUCCESS [4.771s]
    [INFO] hadoop-mapreduce-client-common .................... SUCCESS [24.870s]
    [INFO] hadoop-mapreduce-client-shuffle ................... SUCCESS [3.812s]
    [INFO] hadoop-mapreduce-client-app ....................... SUCCESS [15.759s]
    [INFO] hadoop-mapreduce-client-hs ........................ SUCCESS [6.831s]
    [INFO] hadoop-mapreduce-client-jobclient ................. SUCCESS [8.126s]
    [INFO] hadoop-mapreduce-client-hs-plugins ................ SUCCESS [2.320s]
    [INFO] Apache Hadoop MapReduce Examples .................. SUCCESS [9.596s]
    [INFO] hadoop-mapreduce .................................. SUCCESS [3.905s]
    [INFO] Apache Hadoop MapReduce Streaming ................. SUCCESS [7.118s]
    [INFO] Apache Hadoop Distributed Copy .................... SUCCESS [11.651s]
    [INFO] Apache Hadoop Archives ............................ SUCCESS [2.671s]
    [INFO] Apache Hadoop Rumen ............................... SUCCESS [10.038s]
    [INFO] Apache Hadoop Gridmix ............................. SUCCESS [6.062s]
    [INFO] Apache Hadoop Data Join ........................... SUCCESS [4.104s]
    [INFO] Apache Hadoop Extras .............................. SUCCESS [4.210s]
    [INFO] Apache Hadoop Pipes ............................... SUCCESS [9.419s]
    [INFO] Apache Hadoop Tools Dist .......................... SUCCESS [2.306s]
    [INFO] Apache Hadoop Tools ............................... SUCCESS [0.037s]
    [INFO] Apache Hadoop Distribution ........................ SUCCESS [21.579s]
    [INFO] Apache Hadoop Client .............................. SUCCESS [7.299s]
    [INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [7.347s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 11:53.144s
    [INFO] Finished at: Tue Jun 17 16:58:32 CST 2014
    [INFO] Final Memory: 70M/239M
    [INFO] ------------------------------------------------------------------------

    编译后的Hadoop包的路径在:hadoop-2.2.0-src/hadoop-dist/target/ 下,至此Hadoop2.2.0在64位下编译完成。

  • 相关阅读:
    Delphi程序流程三(2)(while)PS:最简单的任务管理器( 组件LISTVIEW的用法 增加LISTVIEW的读取 删除)
    Delphi 编译错误信息表(转载自万一博客)
    Delphi程序流程三(1)(while)PS:顺便写了个最简单的任务管理器(包含申明API 自己申明参数为结构型API 组件LISTVIEW的用法)
    Delphi程序流程二(for)
    内核编程 warning C4273: 'PsGetProcessId' : inconsistent dll linkage
    简单的SEH处理
    【转】VC6.0各个文件说明
    【转】两篇关于__security_cookie的介绍
    完美解决 error C2220: warning treated as error
    【转】IDA 与VC 加载符号表
  • 原文地址:https://www.cnblogs.com/conbein/p/3793166.html
Copyright © 2011-2022 走看看