您的位置:首页 > 编程语言 > Java开发

Mac 系统基于jdk1.8编译hadoop2.7.4和hadoop2.8.1

2017-08-28 20:53 441 查看
一:准备工作 

1:jdk1.8版本

2:maven3.5.0版本

3:hadoop2.7.4或者hadoop2.8.1

4:protobuf2.5.0

5:cmake

6:openssl 跟 snappy

二:搭建编译环境

1:Mac上安装jdk1.8(傻瓜式操作,不懂得可以百度)

2:配置java环境变量

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

 export PATH=$JAVA_HOME/bin:$PATH

3:解压maven包

4:配置maven环境变量

export MAVEN_HOME=/Users/shihaolin/opt/sourcecode/apache-maven-3.5.0

export PATH=$MAVEN_HOME/bin:$PATH
5:安装protobuf2.5.0(建议百度或者谷歌查一下,安装完成后终端输入protoc --version



出现这个就安装成功了)

6:安装cmake

 6.1:mac上可以采取brew install cmake的方式直接下载

 6.2:如果新电脑没有brew这个命令就在终端输入:ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装成功后可以执行brew install cmake 下载cmake(如果不会的可以百度hombrew安装)

7:安装openssl跟snappy

 7.1:brew install
openssl 安装成功后再brew install snappy

8:终端找到hadoop家目录下面是我的例子



然后执行

mvn clean package -Pdist,native -DskipTests -Dtar

如果最后出现SUCCESS就表明成功。

三:编译错误解决

1:在安装cmake后编译出现下面错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-pipes: An Ant BuildException has occured: exec returned: 1

[ERROR] around Ant part ...<exec failonerror="true" dir="/Users/shihaolin/opt/software/hadoop-2.7.4-src/hadoop-tools/hadoop-pipes/target/native" executable="cmake">... @ 5:140 in /Users/shihaolin/opt/software/hadoop-2.7.4-src/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml

这个错误我当时花费了很长时间才解决,下面是解决方式

1:终端执行

cmake  /Users/shihaolin/opt/software/hadoop-2.7.4-src/hadoop-tools/hadoop-pipes/src/ -DJVM_ARCH_DATA_MODEL=64

执行成功后

2:打开配置Java环境变量的地方

3:添加下面两行(具体根据自己电脑上的openssl安装版本还有文件地址配置)

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

export OPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl/1.0.2l/include

4:记住修改环境变量后一定要执行立即生效命令,然后再执行

cmake  /Users/shihaolin/opt/software/hadoop-2.7.4-src/hadoop-tools/hadoop-pipes/src/ -DJVM_ARCH_DATA_MODEL=6

这个如果执行成功后再执行

mvn clean package -Pdist,native -DskipTests -Dtar

5:坐等编译成功

6:以上是我在Mac系统上编译hadoop2.7.4的方法步骤以及错误解决,当然编译过程中还有一些其他的小问题我就不一一列举出来了,我举的例子是我觉得最坑的一个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: