0. 环境准备
首先要在需要编译的机器上安装maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像),这里可以自己搜索相应帖子。
阿里云yum源现在已经不能使用了,如果遇到使用阿里yum源连接报无效,解决办法转(适用于CentOS6):解决CentOS6停止更新支持后yum源失效
下面是编译所需的环境
gcc-c++
zlib-devel
autoconf
automake
libtool
通过yum安装即可
yum -y install gcc-c++ lzo-devel zlib-devel autoconf automake libtool
1. 下载、安装并编译LZO
1 wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz
2 tar -zxvf lzo-2.10.tar.gz
3 cd lzo-2.10
4 ./configure -prefix=/usr/local/hadoop/lzo/
5 make
6 make install
2. 编译hadoop-lzo源码
2.1 下载hadoop-lzo的源码
下载地址:https://github.com/twitter/hadoop-lzo/archive/master.zip
也可以执行wget https://github.com/twitter/hadoop-lzo/archive/master.zip
,可能会比较慢
2.2 解压之后,修改pom.xml
<hadoop.current.version>2.7.2</hadoop.current.version>
只需要将此处修改为自己对应的Hadoop版本,不要自作聪明的修改JDK版本为自己虚拟机的版本,以及别的Jar包文件的版本,否则会报各种问题,不要问我怎么知道的。
2.3 声明两个临时环境变量
此处路径为1.4的编译完成之后的落地路径,指向对应的include和lib就可以了。
export C_INCLUDE_PATH=/usr/local/hadoop/lzo/include
export LIBRARY_PATH=/usr/local/hadoop/lzo/lib
2.4 编译
进入hadoop-lzo-master,执行maven编译命令
mvn package -Dmaven.test.skip=true
2.5 进入target
hadoop-lzo-0.4.21-SNAPSHOT.jar
即编译成功的hadoop-lzo组件
最后将编译之后的Jar包放到自己Hadoop安装路径下面的/share/hadoop/common
里面