编译hadoop 2.8.1,产生报错,报错信息如下:
通过报错信息,我们去对应的路径下查看build-main.xml文件:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="maven-antrun-" default="main" >
<target name="main">
<mkdir dir="/Users/huhu/personal/source/hadoop-2.8.1-src/hadoop-tools/hadoop-pipes/target/native"/>
<exec failonerror="true" dir="/Users/huhu/personal/source/hadoop-2.8.1-src/hadoop-tools/hadoop-pipes/target/native" executable="cmake">
<arg line="/Users/huhu/personal/source/hadoop-2.8.1-src/hadoop-tools/hadoop-pipes/src/ -DJVM_ARCH_DATA_MODEL=64"/>
</exec>
<exec failonerror="true" dir="/Users/huhu/personal/source/hadoop-2.8.1-src/hadoop-tools/hadoop-pipes/target/native" executable="make">
<arg line="VERBOSE=1"/>
</exec>
<exec failonerror="true" dir="/Users/huhu/personal/source/hadoop-2.8.1-src/hadoop-tools/hadoop-pipes/target/native" executable="make"></exec>
</target>
</project>
通过xml文件,我们可以发现这其实是一个cmake的命令配置,因此将相应的命令进行执行:
从显示的信息我们可以发现OPENSSL_ROOT_DIR、OPENSSL_INCLUDE_DIR并没有进行设置,但实际上已经在mac上安装了openssl了,因此用echo命令进行验证,发现确实没有设置
因此,进行配置相关的环境变量如下:
配置完成之后执行source命令,再重新执行编译hadoop的命令,最终编译成功: