详解Hadoop2.7.2 编译64位源码

作者:默默走开 时间:2023-08-29 13:41:59 

一、环境准备

1.CentOS配置

最好是用新克隆的虚拟机 ,虚拟机内存设置大一点(我设置的4G),配置网络,主机名,关闭防火墙,关闭selinux
注意:采用root角色编译,减少文件夹权限出现问题

2.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(序列化的框架)

3.jar包安装(注意:所有操作必须在root用户下完成)

JDK

1.解压

tar -zxf jdk-8u141-linux-x64.tar.gz -C /export/compile

2.配置环境变量


vim /etc/profile
export JAVA_HOME=/export/compile/jdk1.8.0_141
export PATH=$PATH:$JAVA_HOME/bin

3.更新profile文件

source /etc/profile

4.验证安装是否成功

验证命令:jps  出现jps进程表示安装配置成功

2.Maven

1.解压&重命名


tar -zxf apache-maven-3.0.5-bin.tar.gz -C /export/compile
mv /export/compile/apache-maven-3.0.5-bin.tar.gz /export/compile/maven

2.修改配置文件

vim /export/compile/maven/conf/settings.xml

添加阿里云镜像地址:


<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>

3.配置环境变量


vim /etc/profile
export MAVEN_HOME=/export/compile/maven
export PATH=$PATH:$MAVEN_HOME/bin

4.更新profile文件

source /etc/profile

5.验证安装是否成功

验证命令:mvn -version   出现版本信息表示安装成功

3.ant

1.解压&重命名


tar -zxf apache-ant-1.9.9-bin.tar.gz -C /export/compile
mv apache-ant-1.9.9 ant

2.配置环境变量


vim /etc/profile
export ANT_HOME=/export/compile/ant
export PATH=$PATH:$ANT_HOME/bin

3.更新profile文件

source /etc/profile

4.验证安装是否成功

验证命令:ant -version   出现版本信息表示安装成功

4.glibc-headers


yum -y install glibc-headers
yum -y install gcc-c++

5.make和cmake


yum -y install make
yum -y install cmake

6.protobuf

1.解压&重命名&进入protobuf根目录


tar -zxf protobuf-2.5.0.tar.gz -C /export/compile
mv protobuf-2.5.0/ protobuf
cd /export/compile/protobuf

2.依次执行如下命令

1 ./configure
2 make
3 make check
4 make install
5 ldconfig

3.配置环境变量


vim /etc/profile
export LD_LIBRARY_PATH=/export/compile/protobuf
export PATH=$PATH:$LD_LIBRARY_PATH

4.更新profile文件

source /etc/profile

5.验证安装是否成功

验证命令:protoc --version  出现版本信息表示安装成功

7.安装openssl库

yum -y install openssl-devel

8.安装 ncurses-devel库

yum -y install ncurses-devel

二、编译源码

1.解压

tar -zxf hadoop-2.7.2-src.tar.gz -C /export/compile

2.进入hadoop源码主目录

/export/compile/hadoop-2.7.2-src

3.通过maven执行编译命令

mvn package -Pdist,native -DskipTests -Dtar

4.然后就是漫长的等待...(大约等待时间30分钟左右,最终成功是全部SUCCESS,如下图所示)

5.成功的64位hadoop包在/export/compile/hadoop-2.7.2-src/hadoop-dist/target目录下

三、编译源码过程中常见的问题及解决方案

(1)MAVEN install时候JVM内存溢出

原因以及处理方式:在环境配置文件和maven的执行文件均可调整MAVEN_OPT的heap大小。
(详情查阅MAVEN 编译 JVM调优问题,如:http://outofmemory.cn/code-snippet/12652/maven-outofmemoryerror-method)

(2)编译期间maven报错

原因以及处理方式:可能网络阻塞问题导致依赖库下载不完整导致,多次执行命令(一次通过比较难):

mvn package -Pdist,nativeN -DskipTests -Dtar

(3)报ant、protobuf等错误

原因以及处理方式:插件下载未完整或者插件版本问题,最开始链接有较多特殊情况。

来源:https://blog.csdn.net/qq_43733123/article/details/104534926

标签:Hadoop,编译,源码
0
投稿

猜你喜欢

  • 微软开源最强Python自动化神器Playwright(不用写一行代码)

    2024-01-02 00:38:00
  • python paramiko模块学习分享

    2021-11-10 16:57:00
  • perl的格式化输出及chomp的重要性分析

    2022-03-22 11:03:00
  • python—sys模块之获取参数的操作

    2022-10-09 04:18:18
  • 使用OpenCV校准鱼眼镜头的方法

    2022-04-02 01:58:48
  • PHP中error_reporting()函数的用法(修改PHP屏蔽错误)

    2023-11-20 01:08:17
  • python爱心表白 每天都是浪漫七夕!

    2023-02-26 20:36:55
  • HTML,CSS和JavaScript速查表

    2010-09-16 13:02:00
  • 详解Python3序列赋值、序列解包

    2022-04-19 05:24:51
  • JS获取对象代码总结

    2011-03-07 16:14:00
  • PyQT5速成教程之Qt Designer介绍与入门

    2023-05-18 22:23:36
  • 关于ASP生成伪参数加密技巧

    2008-07-16 12:05:00
  • 将matplotlib绘图嵌入pyqt的方法示例

    2022-11-10 06:59:14
  • Python利用Nagios增加微信报警通知的功能

    2021-07-15 13:48:46
  • Typecho插件实现添加文章目录的方法详解

    2023-05-25 07:19:04
  • php生成shtml类用法实例

    2023-11-15 21:46:23
  • python退出循环的方法

    2022-06-10 07:24:35
  • php 不能连接数据库 php error Can't connect to local MySQL server

    2023-11-07 10:43:50
  • 利用Python实现命令行版的火车票查看器

    2021-10-24 13:59:21
  • python中加背景音乐如何操作

    2023-11-09 02:54:51
  • asp之家 网络编程 m.aspxhome.com