编译hadoop2.6.0-cdh5.7.0 native支持snappy & 编译中遇到的坑及解决办法
来源:互联网 发布:男士去油洗面奶 知乎 编辑:程序博客网 时间:2024/06/16 06:18
前沿
使用官网自带的hadoop-2.6.0-cdh5.7.0.tar.gz所解压之后,安装部署的hadoop环境,往往在执行checknative命令的时候,发现诸如zlib、snappy、lz4、bzip2、openssl的检查不通过。而这样会对我们使用各种压缩的时候带来不便,因此我们需要自己去手动编译native,并使其支持snappy。
编译准备
编译前我们需要做如下几步:
- 部署JAVA环境
- 安装maven
- 安装Protocol Buffer 2.5.0
- 安装Findbugs
上述步骤的安装可以参考博文:Hadoop源码编译
为了支持native,我们需要手动去安装支持这些压缩的本地库,具体操作如下:
$>yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool$>yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop autoconf automake
开始编译
使用如下命令进行编译:
$>cd /opt/sourcecode/hadoop-2.7.4-src$>mvn clean package -Pdist,native -DskipTests -Dtar
编译成功:
检查是否支持native
$>hadoop checknative -a
全部支持:
编译中遇到的坑及排错
这是我在编译的时候遇到的第一个坑,排错过程:
网上查阅资料之后,参考这篇博文:学习Maven之Maven Enforcer Plugin,修改了编译命令为:
$>mvn clean package -Denforcer.skip=true -DskipTests -Pdist,native -Dtar
执行该命令之后仍然报错,报出新的错误,说是javadoc找不到,再次修改编译命令为:
$>mvn clean package -Dmaven.javadoc.skip=true -Denforcer.skip=true -DskipTests -Pdist,native -Dtar
然而经历了上述两步之后,依然编译失败,重新参考文章:学习Maven之Maven Enforcer Plugin,执行如下命令:
$>mvn validate
发现一条Warning,如下图:
查阅hadoop-2.6.0-cdh5.7.0源码包解压之后的BUILDING.txt文件,对于环境的要求写着JDK 1.7+
尝试换了一个JDK环境,将原来的1.8换到了1.7;执行以下编译命令:$>mvn clean package -Pdist,native -DskipTests -Dtar
最终可以成功
编译过程中,可能还会出现如下的错误:
一开始我觉得是因为pom.xml里面没有指定cdh的仓库,检查发现其实已经指定了
于是我换了个网络,居然神奇的避免了该错误的出现,最终编译成功。建议:出现这种情况的原因是因为包没能下载下来,建议在编译的时候选择一个网络环境,这样可以省去不必要的麻烦
- 编译hadoop2.6.0-cdh5.7.0 native支持snappy & 编译中遇到的坑及解决办法
- 编译hadoop2.6.0-cdh5.7.0 native支持snappy & 编译中遇到的坑及解决办法
- 大数据学习23:hadoop-2.6.0-cdh5.7.0 编译,支持 native 和 snappy
- 重新编译Hadoop 2.7.2 native以支持snappy
- 重新编译hadoop-2.7.2-src的native以支持Snappy解压压缩库
- centos中Hadoop2.7.1 hbase1.3编译snappy
- 编译hadoop支持snappy压缩
- Hadoop2.3.0-CDH5.1.3的eclipse插件编译
- hadoop2.4.1源码在64位系统编译过程中遇到的几个错误及解决方法
- hadoop2.4 支持snappy
- React-Native 编译打包遇到的坑
- Gobblin编译支持CDH5.4.0
- hadoop2.6.0编译后的native库如何加载
- hadoop源码编译:支持snappy压缩
- hadoop2.2支持snappy压缩安装及配置
- mini2440交叉编译工具安装及使用过程中可能会遇到的问题及解决办法
- Spark 2.2源码编译 & 支持hadoop-2.6.0-cdh5.7.0
- CDH5.5自行编译支持sparkSQL,sparkR
- easyui-window的z-index失效
- 宏,将一个数字的奇数位和偶数位交换
- SPOJ 297 Aggressive cows 最小间隔
- linux 驱动——时间、延时及延缓操作
- OPENGL学习笔记之六
- 编译hadoop2.6.0-cdh5.7.0 native支持snappy & 编译中遇到的坑及解决办法
- shell变量的子串的截取/删除/替换
- docker对.netcore的部署
- H5项目常见问题汇总及解决方案
- 事件冒泡和事件委托的共鸣与相互利用
- debug....
- Java代码复制文件【图片、文档等】
- 疯狂讲义随笔——坐标变换模拟雪花飘落
- 数据在内存中所占的字节数或位数