CentOS7.3编译hadoop2.7.3源码
在使用hive或者是kylin时,可以选择文件的压缩格式,但是这个需要有hadoop native库的支持,默认情况下,hadoop官方发布的二进制包中是不包含native库的,所以无法使用一些压缩相关的算法。本例中选择自己手动编译hadoop源码,并将native文件部署到hadoop安装目录/lib目录下。
1. 环境准备
a) 安装JDK(1.7以上版本),本例中安装jdk1.8
b) 安装maven(3.0以上版本),参见本人博文
c) yum install -y CMake openssl-devel ncurses-devel gcc gcc-c++ #cmake必须是2.6以上版本
d) 安装findbugs
2. 安装JDK1.8
详情请参见本人博文
3. 安装依赖包
yum install -y CMake openssl-devel ncurses-devel gcc gcc-c++
Ubuntu:
#安装各种所需依赖库
sudo apt-get install autoconf automake libtool zlib1g-dev pkg-config libssl-dev libsnappy-dev libbz2-dev
# 移除libssl-dev,安装libssl1.0-dev
sudo apt-get remove libssl-dev
#安装各种所需依赖库
sudo apt-get install -y cmake openssl ssh-server libssl1.0-dev libncurses5-dev gcc-7 g++
4. 安装protobuf-2.5.0
下载protobuf-2.5.0
http://pan.baidu.com/s/1pJlZubT
mkdir -p /home/workspace/software
wget https://github-production-release-asset-2e65be.s3.amazonaws.com/23357588/09f5cfca-d24e-11e4-9840-20d894b9ee09?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190206%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190206T094303Z&X-Amz-Expires=300&X-Amz-Signature=566da401f7f657ebf24ce768f0f2000ab1ab2d6815d9b6c289bb70335b119602&X-Amz-SignedHeaders=host&actor_id=30103731&response-content-disposition=attachment%3B filename%3Dprotobuf-2.5.0.tar.gz&response-content-type=application%2Foctet-stream
tar -xzvf protobuf-2.5.0.tar.gz #解压protobuf2.5.0
cd protobug-2.5.0 #进入protobuf源码目录
mkdir installed
编译protobuf-2.5.0源码
./configure --prefix=/home/workspace/software/protobuf-2.5./installed #make install之后的二进制文件安装的目录通过--prefix指定
make #编译protobuf-2.5.0源码
make install #安装编译好的文件到/home/workspace/software/protobuf-2.5./installed

配置protobuf环境变量
vim /etc/profile
文件末尾添加
export PROTOBUF_HOME=/home/workspace/software/protobuf-2.5./installed
export PATH=$PROTOBUF_HOME/bin/:$PATH
保存退出,并执行 source /etc/profile使环境变量配置生效
5. 安装findbugs-3.0.1
cd /home/workspace/software
wget https://nchc.dl.sourceforge.net/project/findbugs/findbugs/3.0.1/findbugs-3.0.1.tar.gz
tar -xzvf findbugs-3.0..tar.gz
cd findbugs-3.0.
配置环境变量
vim /etc/profile
在文件末尾添加
export FINDBUGS_HOME=/home/workspace/softwares/findbugs-3.0.
export PATH=$PATH:$FINDBUGS_HOME/bin
保存退出,并使更改生效。
查看安装结果
findbugs -version
6. 编译hadoop2.7.3
下载hadoop2.7.3
cd /home/workspace/software
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3-src.tar.gz
tar -xzvf hadoop-2.7.-src.tar.gz
cd hadoop-2.7.-src
编译hadoop2.7.3
mvn clean package -DskipTests -Pdist,native -Dtar
编译将会持续一段时间,取决于maven仓库的速度,大概需要半小时以上

编译好的文件路径为:/home/workspace/software/hadoop-2.7.3-src/hadoop-dist/target/hadoop-2.7.3.tar.gz

7. 替换原来的native包
rm -rf $HADOOP_HOME/lib/native
cp -r /home/workspace/software/hadoop-2.7.-src/hadoop-dist/target/hadoop-2.7./lib/native $HADOOP_HOME/lib/native
8. Reference
https://www.cnblogs.com/janlle/p/10859037.html
CentOS7.3编译hadoop2.7.3源码的更多相关文章
- 编译hadoop2.2.0源码时报错
编译hadoop2.2.0源码时, mvn install -DskipTests 报错: [ERROR] COMPILATION ERROR : [INFO] ------------------- ...
- 自己动手编译hadoop-2.5.2源码
搭建环境:Centos x 6.5 64bit (后来:我才知道原来官网上发布的就是64位的,不过这个对我来说是个学习过程,对以后进行其他平台编译的时候有帮助!) 1.安装JDK 我这里用的是64位 ...
- Centos7下编译CDH版本hadoop源码支持Snappy压缩
1 下载snappy包并编译 wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz tar ...
- 使用Maven将Hadoop2.2.0源码编译成Eclipse项目
编译环境: OS:RHEL 6.3 x64 Maven:3.2.1 Eclipse:Juno SR2 Linux x64 libprotoc:2.5.0 JDK:1.7.0_51 x64 步骤: 1. ...
- hadoop-2.6.0源码编译问题汇总
在上一篇文章中,介绍了hadoop-2.6.0源码编译的一般流程,因个人计算机环境的不同, 编译过程中难免会出现一些错误,下面是我编译过程中遇到的错误. 列举出来并附上我解决此错误的方法,希望对大家有 ...
- Hadoop2.5.2源码编译及导入Eclipse
前言:由于官网提供的64位hadoop是没有编译的,所以当我们用到64位的hadoop时,需要在自己的64位linux系统上编译hadoop源码.另外,要想在eclipse里查看hadoop源码,修改 ...
- Hadoop2.7.2源码编译过程
目录 准备工作 jar包安装 源码编译 准备工作 CentOS可以联网,验证:ping www.baidu.com 是畅通的 jar 包准备(hadoop 源码.JDK8.maven.ant .pro ...
- linux下hadoop2.6.1源码64位的编译
linux下hadoop2.6.1源码64位的编译 一. 前言 Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题.我们在64位服务器执行Hado ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
随机推荐
- C# 远程调用实现案例
C#远程调用实现案例 2007年11月19日 13:45:00 阅读数:6012 C#实现远程调用主要用到“System.Runtime.Remoting”这个东西.下面从三个方面给于源码实例. ·服 ...
- mysql 严格模式 Strict Mode说明(转)
转自https://www.cnblogs.com/jhcelue/p/7290243.html 1.开启与关闭Strict Mode方法 找到mysql安装文件夹下的my.cnf(windows系统 ...
- 手动部署etcd-2018-0731
手动部署很简单,这里花了10分钟搞定 部署etcd 3台机器 etcd:由于 raft 算法的特性,集群的节点数必须是奇数 [root@linux-node1 ~]# cat /etc/hosts 1 ...
- Mysql主从---删除master.info和relya-log.info实验
relay-log.info, master.info 这连个文件时在建立复制时产生的,现在主要说明以下问题: 1.如果修改删除master.info文件,复制会中断么? 不会,如果stop slav ...
- flume简介
组件介绍: 代理 Flume Agent Flume内部有一个或者多个Agent 每一个Agent是一个独立的守护进程(JVM) 从客户端哪儿接收收集,或者从其他的Agent哪儿接收,然后迅速的将获取 ...
- TP5一对一、一对多关联模型的使用
文章表SQL CREATE TABLE `tp_article` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `title` varc ...
- Docker容器挂载主机目录访问出现Permission denied的解决办法
Docker挂载主机目录,访问相应的文件出现Premission denied的权限访问问题 挂载后,查看相应的文件出现如下的提示: [root@ba471da26d07 soft]# lsls: c ...
- 代码问题: 【ADNet】
[ADNet]: Yoo S, Yun K, Choi J Y. Action-Decision Networks for Visual Tracking with Deep Reinforcemen ...
- 使用openssl命令剖析RSA私钥文件格式
原文 https://blog.csdn.net/zhymax/article/details/7683925 Openssl提供了强大证书功能,生成密钥对.证书,颁发证书.生成crl.验证证书.销毁 ...
- Spring Cloud(Dalston.SR5)--Hystrix 监控
在服务调用者加入 Actuator ,可以对服务调用者的健康情况进行实时监控,例如,断路器是否打开.当前负载情况等. 服务调用者 需要增加 actuator依赖, 修改 POM.xml 中增加以下依赖 ...