记录在macOS Sierra系统上编译Hadoop本地库过程
来源:互联网 发布:迅游网络加速器手机版 编辑:程序博客网 时间:2024/05/16 15:39
在这个过程中,摸索了快一整天,百度和参考了不少博客和文章,所以本文不算是完全的原创,仅记录下来。不同操作系统或环境可能不可以编译成功。
环境准备,一般来说java开发都需要用到jdk和maven的,在此就不记录这两个的安装和配置了,只是记录下做提醒:
已安装和配置好jdk,当时的版本是1.8.0_144
已安装和配置好maven,当时的版本是3.5.0
下载hadoop源码(http://hadoop.apache.org/releases.html) hadoop-2.6.5-src.tar,解压得到hadoop-2.6.5-src文件夹
在解压得到的hadoop-2.6.5-src文件夹根目录下,BUILDING.txt文件里有说明编译需要的条件。
Requirements:
- Unix System (现在Mac OS系统上进行)
- JDK 1.6+ (这个前面环境准备说过了)
- Maven 3.0 or later (这个前面环境准备说过了)
- Findbugs 1.3.9 (if running findbugs) (没有用到,所以没有安装)
- ProtocolBuffer 2.5.0 (这个一定是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 ) (安装和配置openssl)
- Internet connection for first build (to fetch all Maven and Hadoop dependencies) (必须联网,要下载很多jar包)
1、安装CMake
官网下载对应操作系统的版本https://cmake.org/download/,Mac OS系统下载对应的cmake-3.10.0-rc1-Darwin-x86_64.dmg,直接进行安装就可以了。
2、 安装和配置ProtocolBuffer 2.5.0
注意一定是2.5.0版本的,下载得到protobuf-2.5.0.tar,解压后得到protobuf-2.5.0文件夹。进入到protobuf-2.5.0文件夹,如果设置编译成功后输出的目录 为 /Users /tools/ protobuf-2.5.0则执行:
./configure --prefix=/Users /tools/ protobuf-2.5.0 make make install
编辑vim ~/.bash_profile 文件,配置环境变量:
PROTOBUF是解压后的目录路径,记得使~/.bash_profile 文件生效:
source ~/.bash_profile
终端检查是否配置成功:
3、安装和配置openssl
官网下载(https://www.openssl.org/source/)后解压,把解压后得到的文件夹放到了/usr/local/目录下,进入到/usr/local/openssl-1.0.2l目录,执行:
./config --prefix=/usr/local/openssl-1.0.2lsudo make
执行 sudo make后提示版本不对,可以修改openssl-1.0.2l根目录下的Makefile文件,将darwin-i386-cc修改为darwin64-x86_64-cc,然后再执行:
sudo make install
编辑vim ~/.bash_profile 文件,配置环境变量:
记得使~/.bash_profile 文件生效:
source ~/.bash_profile
终端检查是否成功:
4、在前面说到的BUILDING.txt文件中,还有这么一段话:
Building on OS/X
sudo mkdir /usr/libexec/java_home/Classes sudo ln -s /usr/libexec/java_home/lib/tools.jar /usr/libexec/java_home/Classes/classes.jar
意思是在jdk目录下新建Classes文件夹:
cd $JAVA_HOME mkdir Classes
并创建链接,需要绝对路径:
sudo ln -s $JAVA_HOME/lib/tools.jar $JAVA_HOME/Classes/classes.jar
5、终端进入hadoop-2.6.5-src文件夹根目录下,执行:
mvn package -Pdist,native -DskipTests=true -Dmaven.javadoc.skip=true -Dtar
执行完成后会在hadoop-2.6.5-src/hadoop-dist/target/hadoop-2.6.5/lib/native目录下生成本地库,把该文件夹下所有文件复制粘贴到hadoop的$HADOOP_HOME/lib/native目录,执行:
hadoop fs -ls /
就不会提示:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
如果第5步过程中有报异常不能编译成功的,按照打印的日志百度或者Google一个个解决。
阅读全文
0 0
- 记录在macOS Sierra系统上编译Hadoop本地库过程
- macOS Sierra 上编译安装 hadoop 2.7.3
- 在macOS Sierra 10.12.2上编译openCV3.1+ opencv_contrib
- 【hadoop学习】在MacOS上编译 hadoop pipes 库
- 在MacOS Sierra上安装OpenCV
- 在macOS 10.12 Sierra上安装Tomcat 8.5
- macOS Sierra 上使用GDB
- mac sierra系统本地搭建hadoop 3.0.0
- MacOS Sierra 安装配置caffe 记录
- 重装 Macos sierra系统 U盘
- ThinkPad T460p 黑苹果安装 - 前篇:在虚拟机上安装MacOS 10.12 Sierra
- MySQL在MacOS上的安装记录
- 更新的macOS Sierra系统后怎么在隐私中找回允许任何来源
- 【转】在MACOS上实现交叉编译
- 在macOS 10.12 上编译 Android 5.1
- Hadoop-编译本地库
- [Mac] macOS Sierra源码编译安装Mysql Utilities 1.6
- MacOS High Sierra(10.13.2) 编译Faiss -- 包括问题解决
- JavaScript 正则表达式 验证数字(包含小数),然后转成千分位的格式
- Java 优秀博客汇总
- 需要整理的笔记
- Qt笔记_14
- thinkphp5.0细节注意事项
- 记录在macOS Sierra系统上编译Hadoop本地库过程
- centos7编译安装httpd-2.4
- py学习之路
- Power Strings next数组应用
- 整理关于java开发工具使用过程中一些小技巧来提高开发效率
- 关于numpy mean函数和var函数用法
- 面试小结
- centos7 mysql5.7 免密码登陆
- js将form表单提交数据封装为ajax提交