博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop cdh4.6.0编译方法
阅读量:6454 次
发布时间:2019-06-23

本文共 1230 字,大约阅读时间需要 4 分钟。

最近因为要改hadoop的一些代码,需要重新编译,测试环境是用cdh4.6.0做debug,简单记录下hadoop的编译方法:

1)编译环境需要下面几个包

1
yum 
install 
lzo-devel zlib-devel gcc autoconf automake libtool ncurses-devel openssl-devel  cmake

2)需要mvn/ant环境

3)在src目录下运行

1
mvn 
package 
-DskipTests -Pdist,
native 
-Dtar -e -X

4)protobuf的版本要求,cdh4.6.0需要 *2.4*版本

如果protobuf版本不匹配会报如下错误,并导致hadoop-common无法编译完成:

1
2
3
4
5
     
[exec] Required version of 
'protoc' 
is 
2.4
.0a, reported libprotoc 
2.5
.
0 
....
Caused by: 
/home/caiguangguang/hadoop-
2.0
.
0
-cdh4.
6.0
/src/hadoop-common-project/hadoop-common/target/antrun/build-main.xml:
33
:
 
exec returned: 
1

通过这个build-main.xml文件,可以看到是和protobuf有关

错误由下面脚本导致(也可以看出protobuf是2.4.x版本即可):

1
2
3
4
5
6
7
8
9
10
11
12
hadoop-common-project/hadoop-common/target/compile-proto.sh                                           
#!/bin/bash
PROTOC=
"$HADOOP_PROTOC_CDH4_PATH"
if 
"${PROTOC}X" 
"X" 
]; then
  
PROTOC=
"protoc"
fi
PROTOC_VERSION=`${PROTOC} --version`
if 
[[ 
"${PROTOC_VERSION}" 
!= *
2.4
* ]]; then
  
echo 
"Required version of 'protoc' is 2.4.0a, reported ${PROTOC_VERSION}"
  
exit 
1
fi
....

编译安装protobuf的方法:

1
./configure --prefix=/home/protobuf && make && make install  (安装完成后注意加载lib目录)

protoc  --version  #PATH增加这个/home/protobuf/bin目录

本文转自菜菜光 51CTO博客,原文链接:http://blog.51cto.com/caiguangguang/1588495,如需转载请自行联系原作者

你可能感兴趣的文章
2017年广东省ACM省赛(GDCPC-2017)总结
查看>>
第十届蓝桥杯B组C++题目详解和题型总结
查看>>
简单理解函数回调——同步回调与异步回调
查看>>
Android 多个Activity 跳转及传参
查看>>
anroid 广播
查看>>
AJAX POST&跨域 解决方案 - CORS
查看>>
关于最小生成树中的kruskal算法中判断两个点是否在同一个连通分量的方法总结...
查看>>
开篇,博客的申请理由
查看>>
点滴积累【C#】---C#实现上传word以流形式保存到数据库和读取数据库中的word文件。...
查看>>
Ubuntu常用笔记
查看>>
Token和session 详解
查看>>
JMeter IP欺骗压测
查看>>
Serializers 序列化组件
查看>>
最简单的RPC框架实现
查看>>
Servlet 技术全总结 (已完成,不定期增加内容)
查看>>
[JSOI2008]星球大战starwar BZOJ1015
查看>>
CountDownLatch与thread-join()的区别
查看>>
linux下MySQL安装登录及操作
查看>>
centos 7 部署LDAP服务
查看>>
揭秘马云帝国内幕:马云的野心有多大
查看>>