您的位置:首页 > 运维架构

Mac OSX下编译 Hadoop 2.6.4

2017-07-24 12:42 465 查看
当然,你首先得有一份 Hadoop-2.6.4-src 的源文件。使用 tar -zxvf

一、准备的软件环境

需要安装的软件很多,根据 BUILDING.txt 的说明有:

* Unix System

* JDK 1.6+

* Maven 3.0 or later

* Findbugs 1.3.9 (if running findbugs)

* ProtocolBuffer 2.5.0

* CMake 2.6 or newer (if compiling native code), must be 3.0 or newer on Mac

* Zlib devel (if compiling native code)

* openssl devel ( if compiling native hadoop-pipes )

* Internet connection for first build (to fetch all Maven and Hadoop dependencies)

其中,JDK 使用1.6和1.7均可,但是不要使用1.8,在 PATH 中除了添加 JAVAHOME/bin外,还得添加JAVA_HOME/lib。

其次,还得安装 apache-ant,现在的版本是1.10.1,在profile加入 PATH 中。

二、安装软件的时候,还得用到 brew 命令,没有的需要安装 Homebrew 软件

brew install zlib

brew install openssl

brew install autoconf automake libtool

brew install ncurses

brew install gcc

还得安装一个 wget 这样更方便

brew install wget

三、在 OSX 中,还得设置

sudomkdirJAVA_HOME/Classes

sudoln−sJAVA_HOME/lib/tools.jar $JAVA_HOME/Classes/classes.jar

四、开始编译。

编译必须在 hadoop-2.6.4-src 目录下进行。

mvnpackage−Pdist,native,docs−DskipTests−Dtar其中,可以不要docs,命令为: mvn package -Pdist,native, -DskipTests -Dtar

如果失败了,最好使用

$ man clean package -Pdist,native, -DskipTests -Dtar

时间很长,最后会形成一个包文件即可,在 dist 目录下有 native 文件,这个可以覆盖从网络上下载已经安装的 native 目录,就不用重新安装 hadoop 了。

五、下面附加上所有的配置

export LD_LIBRARY_PATH=LDLIBRARYPATH:/Users/wangxinnian/protobuf−2.5.0/lib/exportLIBRARYPATH=LIBRARY_PATH:/Users/wangxinnian/protobuf-2.5.0/lib/

export PATH=PATH:/Users/wangxinnian/protobuf−2.5.0/bin/exportCINCLUDEPATH=C_INCLUDE_PATH:/Users/wangxinnian/protobuf-2.5.0/include/

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/Users/wangxinnian/protobuf-2.5.0/include/

export PKG_CONFIG_PATH=/Users/wangxinnian/protobuf-2.5.0/lib/pkgconfig/

export ANT_HOME=/users/wangxinnian/apache-ant-1.9.0

export PATH=ANTHOME/bin:ANT_HOME/lib:$PATH

MAVEN_HOME=/Users/wangxinnian/apache-maven-3.5.0

export MAVEN_HOME

export PATH=MAVENHOME/bin:HOME/findbugs-3.0.1/bin:$PATH

export OPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2l

export OPENSSL_INCLUDE_DIR=OPENSSLROOTDIR/includeexportPATH=OPENSSL_INCLDUE_DIR:OPENSSLROOTDIR/bin:PATH

六、注意

1、在 openssl 中,因为系统/usr/bin 中自带,不能软连接,所以必须删除,但是MAC OS/X 有系统保护,必须解除,解除的方式

.重启电脑开后按住 Command-R 进入恢复分区. 然后在 实用工具 栏找到 终端启动运行.

输入:csrutil disable; reboot

重启后删除你/usr/bin 中的openssl 和 gcc,删除文件一定要小心哦,特别不能删除/usr/bin

然后,在reboot 后,按 Command-R 进入恢复分区,输入:csrutil enable; reboot

2、另外,在编译 Hadoop 中,可能会在 pipes 出错,openssl 一定要有系统变量OPENSSLROOTDIR和OPENSSL_ROOT_DIR,注意不要使用高版本的1.1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: