详解Hadoop2.7.2 编译64位源码

 更新时间:2020年02月28日 15:10:38   作者:默默走开  
这篇文章主要介绍了Hadoop2.7.2 编译64位源码的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

一、环境准备

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等错误

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

总结

到此这篇关于Hadoop2.7.2 编译64位源码的文章就介绍到这了,更多相关Hadoop 编译源码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • git 一个可以提高开发效率的命令:cherry-pick详解

    git 一个可以提高开发效率的命令:cherry-pick详解

    这篇文章主要介绍了git 一个可以提高开发效率的命令:cherry-pick,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • web服务器程序运行出现乱码问题的解决方法

    web服务器程序运行出现乱码问题的解决方法

    有时候程序运行是,出现乱码,不是因为数据库的问题,是因为没有定义编码的问题,大家可以看下养成良好的编码习惯。
    2009-12-12
  • 千万要避免的五种程序注释方式小结

    千万要避免的五种程序注释方式小结

    你是否有过复查程序时发现有些注释毫无用处?程序注释是为了提高代码的可读性,为了让原作者以外的其他开发人员更容易理解这段程序。
    2011-10-10
  • 如何给 GitHub commit 加个绿色图标(教程详解)

    如何给 GitHub commit 加个绿色图标(教程详解)

    这篇文章主要介绍了如何给 GitHub commit 加个绿色图标,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • idea集成Git实现团队合作分工的原理详解

    idea集成Git实现团队合作分工的原理详解

    这篇文章主要介绍了idea集成Git实现团队合作分工的原理,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-12-12
  • 使用IDEA回滚某次提交的代码步骤

    使用IDEA回滚某次提交的代码步骤

    这篇文章主要介绍了使用IDEA回滚某次提交的代码步骤,在平时的开发中,不小心commit了错误的代码怎么办,就需要用到回滚了,需要的朋友可以参考下
    2023-03-03
  • Visual Studio 2019中使用Git

    Visual Studio 2019中使用Git

    这篇文章介绍了在Visual Studio 2019中使用Git的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 提高github下载速度的方法可达到2MB/s(100%有效)

    提高github下载速度的方法可达到2MB/s(100%有效)

    这篇文章主要介绍了提高github下载速度的方法可达到2MB/s(100%有效),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • openlayers 模仿高德箭头导航路线图的代码详解

    openlayers 模仿高德箭头导航路线图的代码详解

    这篇文章主要介绍了openlayers 模仿高德箭头导航路线图的示例代码,主要包括原始数据、起点/终点寻找、起点和终点样式函数,结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 如何将gitLab代码拉到本地

    如何将gitLab代码拉到本地

    这篇文章主要介绍了如何将gitLab代码拉到本地的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03

最新评论