Hadoop的源码编译
目录
正文
1、准备阶段
使用root登录Centos,并且要求能够正常连接网络。配置清单如下:
(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(序列化的框架)
1.1、下载Hadoop源码包
https://hadoop.apache.org/releases.html
1.2、安装、配置maven
tar -zxvf apache-maven-3.0.-bin.tar.gz -C /opt/module/
配置maven镜像源
vi conf/settings.xml
添加以下内容
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
配置maven环境变量
vi /etc/profile
添加一下内容
#MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.0.
export PATH=$PATH:$MAVEN_HOME/bi
使得配置信息生效
source /etc/profile
验证maven是否安装成功:
[root@hadoop- software]# mvn -version
Apache Maven 3.0. (r01de14724cdef164cd33c7c8c2fe155faf9602da; -- ::-)
Maven home: /opt/module/apache-maven-3.0.
Java version: 1.8.0_144, vendor: Oracle Corporation
Java home: /opt/module/jdk1..0_144/jre
Default locale: en_US, platform encoding: UTF-
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
You have new mail in /var/spool/mail/root
[root@hadoop- software]#
1.3 、安装、配置Ant
[root@hadoop- software]# tar -zxvf apache-ant-1.9.-bin.tar.gz -C /opt/module/
[root@hadoop-102 software]# vi /etc/profile
#ANT_HOME
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin
[root@hadoop-102 software]# source /etc/profile
[root@hadoop-102 software]#
[root@hadoop-102 software]# ant -version
Apache Ant(TM) version 1.9.9 compiled on February 2 2017
[root@hadoop-102 software]#
1.4、安装glibc-headers 和 gcc-c++
[root@hadoop- software]# yum -y install glibc-headers
[root@hadoop- software]# yum install gcc-c++
1.5、安装make和cmake
[root@hadoop- software]# yum install make
[root@hadoop- software]# yum install cmake
1.6、编译安装protobuf
[root@hadoop- software]# tar -zxvf protobuf-2.5..tar.gz -C /opt/module/
[root@hadoop- software]# cd /opt/module/protobuf-2.5./
[root@hadoop- protobuf-2.5.]#
[root@hadoop- protobuf-2.5.]#./configure
[root@hadoop- protobuf-2.5.]# make
[root@hadoop- protobuf-2.5.]# make check
[root@hadoop- protobuf-2.5.]# make install
[root@hadoop- protobuf-2.5.]# ldconfig
配置环境变量:
[root@hadoop- protobuf-2.5.]# vi /etc/profile
#LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.
export PATH=$PATH:$LD_LIBRARY_PATH
[root@hadoop- protobuf-2.5.]# source /etc/profile
[root@hadoop- protobuf-2.5.]# protoc --version
libprotoc 2.5.
1.7、安装openssl和 ncurses-devel库
[root@hadoop- ~]# yum -y install openssl-devel
[root@hadoop- ~]# yum -y install ncurses-devel
jdk的安装时,解压后配置环境变量,这里就不在赘述。
2、编译Hadoop
2.1、解压源码包
[root@hadoop- hadoop-2.7.-src]# tar -zxvf hadoop-2.7.-src.tar.gz -C /opt/
[root@hadoop- software]# cd /opt/hadoop-2.7.-src/
[root@hadoop- hadoop-2.7.-src]#
2.2、编译
切入到解压后的目录中,执行:
mvn package -Pdist,native -DskipTests -Dtar
2.3、查看编译结果
编译完成后,hadoop包在/opt/hadoop-2.7.2-src/hadoop-dist/target目录下。
3、编译源码过程中常见的问题及解决方案
(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等错误,插件下载未完整或者插件版本问题,最开始链接有较多特殊情况,同时推荐
2.7.0版本的问题汇总帖子 http://www.tuicool.com/articles/IBn63qf
Hadoop的源码编译的更多相关文章
- Hadoop源码编译过程
一. 为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...
- Hadoop,HBase,Zookeeper源码编译并导入eclipse
基本理念:尽可能的参考官方英文文档 Hadoop: http://wiki.apache.org/hadoop/FrontPage HBase: http://hbase.apache.org/b ...
- 基于cdh5.10.x hadoop版本的apache源码编译安装spark
参考文档:http://spark.apache.org/docs/1.6.0/building-spark.html spark安装需要选择源码编译方式进行安装部署,cdh5.10.0提供默认的二进 ...
- hadoop 源码编译
hadoop 源码编译 1.准备jar 1) hadoop-2.7.2-src.tar.gz 2) jdk-8u144-linux-x64.tar.gz 3) apach-ant-1.9.9-bin. ...
- 获取hadoop的源码和通过eclipse关联hadoop的源码
一.获取hadoop的源码 首先通过官网下载hadoop-2.5.2-src.tar.gz的软件包,下载好之后解压发现出现了一些错误,无法解压缩, 因此有部分源码我们无法解压 ,因此在这里我讲述一下如 ...
- Spark源码编译
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3822995.html spark源码编译步骤如下: cd /home/hdpusr/workspace ...
- hadoop-1.2.0源码编译
以下为在CentOS-6.4下hadoop-1.2.0源码编译步骤. 1. 安装并且配置ant 下载ant,将ant目录下的bin文件夹加入到PATH变量中. 2. 安装git,安装autoconf, ...
- hadoop-2.0.0-mr1-cdh4.2.0源码编译总结
准备编译hadoop-2.0.0-mr1-cdh4.2.0的同学们要谨慎了.首先看一下这篇文章: Hadoop作业提交多种方案 http://www.blogjava.net/dragonHadoop ...
- wso2esb源码编译总结
最近花了两周的空闲时间帮朋友把wso2esb的4.0.3.4.6.0.4.7.0三个版本从源码编译出来了.以下是大概的一些体会. wso2esb是基于carbon的.carbon是个基于eclipse ...
随机推荐
- DJANGO-天天生鲜项目从0到1-014-订单-订单评论
本项目基于B站UP主‘神奇的老黄’的教学视频‘天天生鲜Django项目’,视频讲的非常好,推荐新手观看学习 https://www.bilibili.com/video/BV1vt41147K8?p= ...
- Python3网络爬虫开发实战PDF高清完整版免费下载|百度云盘
百度云盘:Python3网络爬虫开发实战高清完整版免费下载 提取码:d03u 内容简介 本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib.req ...
- 仓库储存,存在添加减少,不存在插入ON DUPLICATE KEY UPDATE
原文链接:https://blog.csdn.net/qq_42269354/article/details/100589640 首先声明:ON DUPLICATE KEY UPDATE 为MySQL ...
- Python 图像处理 OpenCV (15):图像轮廓
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- Django学习路37_request属性
打印元信息,基本上都会打印出来 类字典结构的 key 键 允许重复 get 请求可以传参,但是长度有限制 最大不能超过 2K post 文件上传使用 get 参数 默认放在网址中 post 在 ...
- 省选模拟赛day4
怎么说?发现自己越来越菜了 到了不写题解写不出来题目的地步了.. 这次题目我都有认真思考 尽管思考的时候状态不太好 但是 我想 再多给我时间也思考不出来什么吧 所以写一份题解. T1 n个点的有根树 ...
- MySQL 笔记 —— 中文乱码解决、修改mysql服务端编码
https://blog.csdn.net/qq_19865749/article/details/79235422
- 关于saltstack的job问题
问题背景:搭建一个多节点后端集群,使用saltstack作为底层管理,使用Python封装saltstack接口成逻辑层.通过逻辑层的调用实现对整个集群的运维管理. 问题:随着项目中模块的增多,发现s ...
- 010_go语言中的maps映射(字典)
代码演示 package main import "fmt" func main() { m := make(map[string]int) m["k1"] = ...
- 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)...
在IDEA中将xxxMapper.xml文件创建在(src/main/java)目录中,运行报错:org.apache.ibatis.binding.BindingException: Invalid ...