快速为CDH版本HADOOP安装配置Lzo和Snappy压缩

注:本文针对的是使用命令行安装和配置CDH Hadoop,如果你使用RPM或者ClouderaManager,基本可以忽略此文。

Hadoop在计算和存储过程中,支持对文件进行压缩,可以使用hadoop checknative命令来查看:

hadoop

其中,像zlib、lz4、bzip2,会使用系统库,那么需要在Hadoop所在机器上先安装这些。

Snappy和Lzo,需要单独安装配置,CDH版本的hadoop,已经为每一个版本及操作系统编译好了Snappy和Lzo库(RPM),可以通过RPM来获得。


 

http://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5.8.3/RPMS/x86_64/

Snappy库可以从上面链接中的Hadoop RPM包中获取,注意:需要找到正确的操作系统及cdh版本,我使用的操作系统为centos 7,cdh5.8.3.

hadoop


http://archive.cloudera.com/gplextras5/redhat/7/x86_64/gplextras/5.8.3/RPMS/x86_64/

Lzo库及jar包,可以从上面的链接中获得,仍然需要注意你的操作系统版本和cdh版本。

hadoop


 

RPM包下载好之后,使用下面的命令安装:

rpm -ivh hadoop-2.6.0+cdh5.8.3+1718-1.cdh5.8.3.p0.7.el6.x86_64.rpm –nodeps
rpm -ivh hadoop-lzo-0.4.15+cdh5.8.3+0-1.cdh5.8.3.p0.7.el7.x86_64.rpm –nodeps

安装后的路径一般会在/usr/lib/hadoop/

也可使用rpm -ql hadoop-2.6.0+cdh5.8.3+1718-1.cdh5.8.3.p0.7.el6.x86_64来查询安装路径。

更多精彩内容点我学## 备份和拷贝native库目录:

cd $HADOOP_HOME/lib
mv native native-bak
cp -r /usr/lib/hadoop/lib/native $HADOOP_HOME/lib/

## 拷贝lzo jar包:

cp /usr/lib/hadoop/lib/hadoop-lzo-0.4.15-cdh5.8.3.jar $HADOOP_HOME/share/hadoop/common/lib/


拷贝完后,需要先卸载掉前面安装的两个包:

rpm -e hadoop-lzo-0.4.15+cdh5.8.3+0-1.cdh5.8.3.p0.7.el7.x86_64 –nodeps
rpm -e hadoop-2.6.0+cdh5.8.3+1718-1.cdh5.8.3.p0.7.el6.x86_64 –nodeps


检查 hadoop checknative:

hadoop


 

OK了,将更新后的$HADOOP_HOME/lib/native以及$HADOOP_HOME/share/hadoop/common/lib/hadoop-lzo-0.4.15-cdh5.8.3.jar分发至集群所有节点;
重启集群。

更多精彩内容 点我学