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 ...
随机推荐
- ajax提交表单,包括跳入的坑!
本来今天上午写了一个js执行上下文的一个了解.但是写一大半的时候出去有事,电脑关了啥都没了. 还是让我们进入正题 ajax提交表单,很简单,原生js的代码太复杂,我们就jq的去写. 创建html文件, ...
- 图表可视化seaborn风格和调色盘
seaborn是基于matplotlib的python数据可视化库,提供更高层次的API封装,包括一些高级图表可视化等工具. 使用seaborn需要先安装改模块pip3 install seaborn ...
- Usvn迁移
近期由于公司需要整理所有的服务器资源进行统一管理,因此需要迁移原usvn到新环境,但是在网上查找有关usvn的迁移信息没有结果,故整理自己的通过测试的迁移方案共享给大家 迁移列表 原服务器 软件 目标 ...
- 给自己挖坑——DateWay
参考文章 官方手册 官方博客 填坑 目录 简介 使用 1. 引入相关依赖 2. 配置 Dataway,并初始化数据表 3. 配置数据源 4. 把数据源设置到 Hasor 容器中 5. 在SprintB ...
- MacOS工具
原文是"池建强"的微信文章,公众号为"MacTalk" 1. Alfred 2. iTerm2 一些基本功能如下: 分窗口操作:shift+command+d( ...
- 阿里云ecs轻量级服务器node镜像部署
这个是自带安装pm2,nginx,node,mongodb的环境的,目录在控制台有给出, server端的配置按照开发手册去操作即可. 而静态的页面.需要修改nginx的配置文件,找到nginx的ng ...
- 解决SyntaxError: Non-UTF-8 code starting with '\xbb'问题
在第一行加入 # coding=utf-8 2020-06-13
- Python os.chroot() 方法
概述 os.chroot() 方法用于更改当前进程的根目录为指定的目录,使用该函数需要管理员权限.高佣联盟 www.cgewang.com 语法 chroot()方法语法格式如下: os.chroot ...
- Codeforces Round #649 (Div. 2) E. X-OR 交互 二进制 随机 期望
LINK:X-OR 本来是应该昨天晚上发的 可是昨天晚上 做这道题 写了一个分治做法 一直wa 然后查错 查不出来 心态崩了 想写对拍 发现交互库自己写不出来. 一系列sb操作 == 我都醉了. 今天 ...
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/exceptions/YarnException
这个是Flink 1.11.1 使用yarn-session 出现的错误:原因是在Flink1.11 之后不再提供flink-shaded-hadoop-*” jars 需要在yarn-sessio ...