Hadoop2.7.2源码编译过程
2024-10-10 21:11:01
目录
准备工作
- CentOS可以联网,验证:ping www.baidu.com 是畅通的
- jar 包准备(hadoop 源码、JDK8、maven、ant 、protobuf)
(1)hadoop-2.7.2-src.tar.gz
(2)jdk-8u144-linux-x64.tar.gz
(3)apache-ant-1.9.9-bin.tar.gz(build 工具,打包用的)
(4)apache-maven-3.0.5-bin.tar.gz
(5)protobuf-2.5.0.tar.gz(序列化的框架)
注意:采用root 角色编译,减少文件夹权限出现问题,最好准备一台干净的机器
jar包安装
- JDK解压,配置环境变量JAVA_HOME和PATH
tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module/
vi /etc/profile
#JAVA_HOME:
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
验证:java -version
Maven 解压、配置MAVEN_HOME 和PATH
tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/
vi conf/settings.xml
在<mirrors></mirrors>添加镜像
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
vi /etc/profile
# MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$MAVEN_HOME/bin:$PATH
source /etc/profile
验证:mvn -version
- ant 解压、配置ANT _HOME 和PATH
tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/
vi /etc/profile
# ANT_HOME
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin
source /etc/profile
验证:ant -version
- 安装glibc-headers 和g++ 命令如下
yum install glibc-headers
yum install gcc-c++
- 安装make 和cmake
yum install make
yum install cmake
- 解压protobuf ,进入到解压后protobuf 主目录,/opt/module/protobuf-2.5.0,然后相继执行命令
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/
cd /opt/module/protobuf-2.5.0/
./configure
make
make check
make install
ldconfig
vi /etc/profile
# LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH
source /etc/profile
验证:protoc --version
- 安装openssl ,ncurses-devel 库
yum install openssl-devel
yum install ncurses-devel
到此编译工具安装基本完成
源码编译
- 解压源码到/opt/目录
tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/
- 进入到hadoop 源码主目录
cd /opt/hadoop-2.7.2-src
- 通过maven 执行编译命令
mvn package -Pdist,native -DskipTests -Dtar
- 编译成功的64 位hadoop 包在/opt/hadoop-2.7.2-src/hadoop-dist/target 下
197706290
最新文章
- Appium移动自动化测试之安装Appium
- 去掉mysql数据库字段中的个别字符
- 在多台服务器上简单实现Redis的数据主从复制(3)(转载)
- request获取url的方法总结
- 20145211 《Java程序设计》第6周学习总结——三笑徒然当一痴
- [转载]删除所有的.svn文件夹
- poj 1218 THE DRUNK JAILER【水题】
- vs.net 2013 Saffolding功能扩展
- [转]MD5加密算法的java实现
- RobotFramework自动化测试框架的基础关键字(二)
- 剑指offer(javascript实现)
- NOIp 2018 游记
- 题解-APIO2010 特别行动队
- c++ 面试题(数据库)
- 显式提交/隐式提交 //ajax方式的隐式提交
- 【BZOJ3238】 [Ahoi2013]差异(SAM)
- 45、文件过滤器FilenameFilter
- 关于json动态拼接响应数据
- xampp 添加ssl 访问
- 微信小程序快速转成百度小程序的方法