Hadoop集群配置【五、Loz和Hadoop-gpl-compression安装】

从Hadoop 0.20.X开始,由于lzo压缩格式GPL形式授权的影响,lzo压缩从hadoop发布包中取消,转而成为Google Code中的一个项目hadoop-gpl-compression 。

1.lzo安装
./configure -enable-shared --prefix=$HOME/local
make
make install【有时候你需要sudo,看看权限】
2.下载hadoop-gpl-compression-0.1.0-rc0.tar.gz
3.编译
tar -zxvf hadoop-gpl-compression-0.1.0-rc0.tar.gz
cd hadoop-gpl-compression-0.1.0
cp $HADOOP_HOME//hadoop-core-0.20.2-cdh3u0.jar lib/
vim src/java/com/hadoop/compression/lzo/LzoCompressor.java
......
import org.apache.hadoop.conf.Configuration;
.....

public void reinit(Configuration conf) {
// do nothing
}

export C_INCLUDE_PATH=/path_of_lzo_output/include
export LIBRARY_PATH=/path_of_lzo_output/lib
ant compile-native
ant jar
4.拷贝需要的文件
cp build/hadoop-gpl-compression-0.1.0-dev.jar $HADOOP_HOME/lib/
cp build/hadoop-gpl-compression-0.1.0-dev.jar $HBASE_HOME/lib/
cp -r lib/native $HADOOP_HOME/lib/
cp -r lib/native $HBASE_HOME/lib/
5.修改配置重启HBase和Hadoop
vim core-site.xml

<property>
<name>io.compression.codecs</name>
<value>com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec</value>
</property>

<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
6.修改环境变量
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
7. 测试lzo是否成功
bin/hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://a1:54310/test.txt lzo

 

【我遇到的问题】

1.之前服务器去外网下载hadoop-gpl-compression下载不了,于是我在自己的ubuntu上按照方法生成了hadoop-gpl-compression-0.1.0-dev.jar和native/其实第二布就需要这两个东西,直接scp到服务器拷贝进去就OK了。而且这些与操作系统无关的,怎么生成都行。

2.在HBase的表格在适用Lzo压缩的时候,如果lzo报错为:java.lang.unsatisfi....can not load lzolib 你看看你的jvm是否是64位的,然后把local/lib里面的lzo所有的库都考到/usr/lib64/目录下,重启HBase Hadoop

posted @ 2012-07-11 16:07  花考拉  阅读(1908)  评论(0编辑  收藏  举报