hadoop cdh4.6.0编译方法

简介:

最近因为要改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,如需转载请自行联系原作者

目录
打赏
0
0
0
0
69
分享
相关文章
基于Hadoop的大数据可视化方法
【8月更文第28天】在大数据时代,有效地处理和分析海量数据对于企业来说至关重要。Hadoop作为一个强大的分布式数据处理框架,能够处理PB级别的数据量。然而,仅仅完成数据处理还不够,还需要将这些数据转化为易于理解的信息,这就是数据可视化的重要性所在。本文将详细介绍如何使用Hadoop处理后的数据进行有效的可视化分析,并会涉及一些流行的可视化工具如Tableau、Qlik等。
251 0
hadoop的基础设施-protobuf-2.5.0编译和安装
hadoop的基础设施-protobuf-2.5.0编译和安装
130 0
spark编译:构建基于hadoop的spark安装包及遇到问题总结
spark编译:构建基于hadoop的spark安装包及遇到问题总结
415 0
spark编译:构建基于hadoop的spark安装包及遇到问题总结
ARM64 环境利用 docker 编译 hadoop-2.7.7
ARM64 环境利用 docker 编译 hadoop-2.7.7
426 0

相关实验场景

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等