• hadoop 2.7.3 源码编译教程


    1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具。

    到hadoop官网,点击source下载hadoop-2.7.3-src.tar.gz。

    解压之

    tar -zxvf hadoop-2.7.3-src.tar.gz

    得到hadoop-2.7.3-src文件夹。

    进入hadoop-2.7.3-src文件夹,查看BUILDING.txt

    cd hadoop-2.7.3-src vim BUILDING.txt

    可以看到编译所需的库或者工具:

    包括:

    JDK1.7+ 
    maven 3.0 or later 
    findbugs 1.3.9 
    protocolBuffer 2.5.0 
    cmake 2.6 
    zlib-devel 
    openssl-devel

    除了上面这些,为了不出错,实际还需要autoconf automake gcc等。

    下面开始准备这些工具:

    首先使用su命令获取root权限,以免受到各种限制

    2.下载jdk-7u102-linux-x64.tar.gz,解压后移动到/opt目录下

    tar -zxvf jdk-7u102-linux-x64.tar.gz

    mv jdk1.8.0_102/opt

    然后打开/etc/profile配置jdk环境变量

    vim /etc/profile

    按 i 进入插入模式,在文件末尾添加

    export JAVA_HOME=/opt/jdk1.8.0_102

    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar

    export PATH=$PATH:$JAVA_HOME/bin

    export JRE_HOME=/opt/jdk1.8.0_102/jre

    export PATH=$PATH:$JRE_HOME/bin

    先后按Esc, Shift+:, wq, 回车即可保存并退出编辑。

    输入 source /etc/profile 回车即可保存更改。

    运行javac -version 查看状态:

    3.下面安装各种库,

    yum -y install svn ncurses-devel gcc*

    yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

    4.安装protobuf-2.5.0.tar.gz(注意版本必须是2.5.0)

    protobuf-2.5.0.tar.gz下载地址:

    ------------------------------------------分割线------------------------------------------

    免费下载地址在http://linux.linuxidc.com/

    用户名与密码都是www.linuxidc.com

    具体下载目录在/2015年资料/10月/10日/CentOS7下用JDK1.7编译Hadoop-2.7.1全过程详解/

    下载方法见http://www.linuxidc.com/Linux/2013-07/87684.htm

    ------------------------------------------分割线------------------------------------------

    tar zxvf protobuf-2.5.0.tar.gz

    进入protobuf-2.5.0依次执行

    cd protobuf-2.5.0 进入目录

        假如 你希望编译成功后输出的目录 为 /home/work /protobuf/ 则输入如下两条命令:

        ./configure --prefix=/home/work /protobuf/  

        make && make install

        编译成功后将export PATH= /home/work /protobuf/bin:$PATH加入到环境变量中

        最后输入  protoc --version命令,如显示libprotoc 2.5.0则安装成功

    5.安装maven (注意,如果下载很慢或者经常失败,建议更换maven的下载源,方法在另一篇博客中有说明)

    下载apache- maven- 3.3.3- bin.tar.gz

    解压缩并配置环境变量

    解压:

    tar -zxvf apache-maven-3.3.3-bin.tar.gz

    移动到/opt目录下:

    mv apache-maven-3.3.3 /opt

    配置环境变量:

    vim /etc/profile

    在末尾添加:

    export MAVEN_HOME=/opt/apache-maven-3.3.3

    export MAVEN_OPTS="-Xms256m -Xmx512m"

    export PATH=$PATH:$MAVEN_HOME/bin

    先按Esc, Shift+:, wq, 回车即可保存并推出编辑。

    输入 source /etc/profile 回车即可保存更改。

    查看安装状态: mvn -version

    看到

    6.安装ant

    下载apache-ant-1.9.4-bin.tar.gz

    解压缩并配置环境变量

    解压:

    tar -zxvf apache-ant-1.9.4-bin.tar.gz

    移动到/opt目录下

    mv apache-ant-1.9.4 /opt

    配置环境变量

    同上,在/etc/profile文件末未添加:

    export ANT_HOME=/opt/apache-ant-1.9.4

    export PATH=$PATH:$ANT_HOME/bin

    然后保存,退出,并使更改生效。

    查看安装结果:

    ant -version

    7.安装findbugs

    下载findbugs-3.0.1.tar.gz,选择上面的standard version即可

    解压缩并配置环境变量

    解压:

    tar -zxvf findbugs-3.0.1.tar.gz

    移动到 /opt目录下

    mv findbugs-3.0.1 /opt

    配置环境变量:

    在 /etc/profile 文件末尾添加:

    export FINDBUGS_HOME=/opt/findbugs-3.0.1

    export PATH=$PATH:$FINDBUGS_HOME/bin

    保存退出,并使更改生效。

    查看安装结果

    8.准备完成,下面开始编译hadoop

    进入到hadoop-2.7.3-src目录

    vim hadoop-common-project/hadoop-auth/pom.xml

    vim /hadoop-common-project/hadoop-common/pom.xml 

    <dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-annotations</artifactId>
    <scope>compile</scope>
    </dependency>

    将节点hadoop-annotations的值由provide 改成compile

    使用命令:

    mvn clean package –Pdist,native –DskipTests –Dtar

    或者:

    mvn package -Pdist,native -DskipTests -Dtar

    进行编译。  

    务必保持网络畅通,经过漫长的等待(本人的比较慢,花了2小时57分钟)!

    编译好的文件在/hadoop-dist/target/hadoop-2.7.3.tar.gz下。

    注意事项:

    1.所有命令,建议手敲,不建议复制粘贴,以避免因为页面空格造成的不必要错误。

    2.务必保持网络畅通,如果出现缺少某个文件,则要先清理maven(使用命令 mvn clean) 再重新编译。

    3.如果总是出现同一个错误导致编译失败,则可能是缺少某个库或者工具,检查上述工具是否都安装成功,并且版本正确。

  • 相关阅读:
    关于UIView的userInteractionEnabled属性
    ASIHTTPRequest 一款强大的HTTP包装开源项目
    Cocoa中NSString到NSDate的处理
    完美解决ios4与ios5输入框随键盘移动问题
    iOS中使用c函数快速获取一个目录所占的空间大小
    修改图片尺寸
    让一个UIImageView响应点击事件
    怎样判断ios app 第一次启动
    [EGORefreshTableHeaderView]手动启动下拉更新的方法
    单例模式
  • 原文地址:https://www.cnblogs.com/duking1991/p/6104304.html
Copyright © 2020-2023  润新知