hadoop安装lzo

以前装lzo的时候就磕磕绊绊,但总算能好使,最近又由于要装lzo而烦恼了一阵子。现在就记录下,省得来日再查。

开始之前上网查到的都是hadoop0.20装lzo的,有时候不看版本就直接操作了,结果自己还真就就掉到了这样一个坑里。后面再说这个坑,先说说怎么装。其实在 https://github.com/twitter/hadoop-lzo 已经说的很清楚了,只是自己当时懒得去仔细看那单词,总期待国人能帮我解决问题,但总是事与愿违。整理下https://github.com/twitter/hadoop-lzo 这里的过程应该是这样的。

1、先到这里下载 http://www.oberhumer.com/opensource/lzo/ lzo的最新发布版

2、配置 ./configure --enable-shared --prefix /usr/local/lzo-2.06

3、安装 make && sudo make install 

4、按照传统所有的liblzo*往/usr/lib下拷一份

接下来编译 hadoop-lzo ,先要从 https://github.com/twitter/hadoop-lzo/archive/master.zip  这下下来zip包,解压。然后

1、设置这个环境变量

C_INCLUDE_PATH=/usr/local/lzo-2.06/include

LIBRARY_PATH=/usr/local/lzo-2.06/lib

2、运行 mvn clean test 

3、然后到target/native/Linux-amd64-64/lib下找到一堆库文件libgpl*, https://github.com/twitter/hadoop-lzo 这里说要设置环境变量,我没尝试。我是这样做的,把libgpl*拷贝到 $HADOOP_HOME/lib/native/Linux-amd64-64下

4、https://github.com/twitter/hadoop-lzo 这里就到上面几步,可是还有一个它没写就是 我们需要继续与行 mvn clean package ,运行结束后在target下找到 hadoop-lzo-0.4.18-SNAPSHOT.jar ,把它拷贝到$HADOOP_HOME/lib下。说说之前的那个坑,前面装的时候糊装,在$HADOOP_HOME下有一个 叫hadoop-gpl*的jar包,虽然我把 hadoop-lzo-0.4.18-SNAPSHOT.jar 拷贝过去了,但是使用 hive --rcfilecat 察看使用lzo压缩过的rcfile时老是不能正确解压。后来查到一片博客说 hadoop-gpl-compression-xx和 hadoop-lzo** 不兼容云云,才恍然大悟,然后将之前安装的$HADOOP_HOME/lib下的hadoop-gpl-compresion-xxx删除,问题解决!

至此其实lzo已经完成,在就是配置下hadoop了,这里就不说了。

同时如果在eclipse安装了hadoop的插件的话,如果直接运行输入是lzo压缩的文件是不行的,会提示找不到lzo class 或者 gpl/lzo native lib找不到,lzo class找不到需要单独引入 hadoop-lzo-0.4.18-SNAPSHOT.jar ,提示gpl/lzo native lib找不到,需要到build path的library里 找到hadoop-lzo-0.4.18-SNAPSHOT.jar 设置它的native path为 $HADOOP_HOME/lib/native/Linux-amd64-64而不是网上说的/usr/local/lib,这把我坑死了,我设置了死活不好使,自己琢磨琢磨改成这个才好。

你可能感兴趣的:(eclipse,hadoop,lzo,native,GPL)