Hadoop学习历程(一、编译)

近期对Hadoop很感兴趣,下面是在CentOS系统上进行编译的分享

系统情况如下:

    1. CentOS 6.2 64位
    2. hadoop-2.2.0
    3. jdk 1.6.0_31
    4. maven 3.1.0
    5. protobuf-2.5.0
    6. cmake 2.8.12.1

系统中已经安装好了JDK,并正确进行了设置,这里不说明JDK的安装与设置,请自行查阅

    第一步:安装maven

    1.1 下载文件 apache-maven-3.1.0-alpha-1-bin.tar.gz

    1.2 执行命令  tar zvxf apache-maven-3.1.0-alpha-1-bin.tar.gz

    1.3 配置环境变量,编辑etc/profile文件,添加如下代码

MAVEN_HOME=/home/youUser/apache-maven-3.1.0-alpha-1
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME
export PATH

    1.4 保存文件,并运行如下命令使环境变量生效

source /etc/profile

    1.5 通过如下命令可以查看是否安装正常

mvn -version

  第二步:安装protobuf

    2.1 下载文件  protobuf-2.5.0.tar.gz

    2.2 执行命令  tar zvxf protobuf-2.5.0.tar.gz

    2.3 进入 protobuf-2.5.0 目录,执行下面的命令

 ./configure
 make 
 make check 
 make install

    2.4 通过如下命令可以查看是否安装正常

protoc --version

  第三步:安装cmake

    3.1 下载安装文件 cmake-2.8.12.1.tar.gz

    3.2 执行如下命令 tar zvxf cmake-2.8.12.1.tar.gz

    3.3 进人 cmake-2.8.12.1 目录,执行如下命令

./bootstrap
make
make install

    3.4 通过如下命令检查安装是否正常

cmake -version

  第四步:安装必要的包

    4.1 执行如下命令,安装 autotool

yum install autoconf automake libtool

    4.2 执行如下命令,安装 openssl-devel

yum install openssl-devel

  第五步:正式编译hadoop

    5.1 下载源码包 hadoop-2.2.0-src.tar.gz

    5.2 执行解包命令 tar zvxf hadoop-2.2.0-src.tar.gz

    5.3 由于源码有问题,需要进行修改,修改 hadoop-common-project/hadoop-auth/pom.xml 文件,添加如下内容

     </dependency>
     <dependency>
       <groupId>org.mortbay.jetty</groupId>
       <artifactId>jetty-util</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.mortbay.jetty</groupId>
       <artifactId>jetty</artifactId>
       <scope>test</scope>
     </dependency>

    5.4 进入 hadoop-2.2.0-src 目录,执行如下命令

mvn clean package -Pdist,native -DskipTests -Dtar

    5.5 如果能看到类型下面的输出就证明编程成功,这个过程中要保证网络通畅,需要下载很多包。

    

    5.6 进入 hadoop-dist/target 目录,看一下编译成果吧

  注明:

    有人说可能还需要安装 ncurses-devel , 可以通过 yum install ncurses-devel 进行安装

原文地址:https://www.cnblogs.com/hutou/p/hadoop.html