hadoop-lzo安装手册
环境
操作系统CentOS release 6.3 64位
JDK 1.7
gcc 4.6.3
前提:安装文件都放在/usr/local/lzo文件夹下
exportHADOOP_HOME=/usr/local/hadoop
exportHADOOP_CLASSPATH=$HADOOP_HOME/lib
所需软件包
Gcc
Ant(apache-ant-1.9.3-bin.tar.gz)
下载网址:http://ant.apache.org/bindownload.cgi
Lzo库文件(lzo-2.06.tar.gz)
下载网址:http://www.oberhumer.com/opensource/lzo/download/
lzo编码/解码器 (hadoop-lzo-master.zip)
下载网址:https://github.com/kevinweil/hadoop-lzo
lzo-devel依赖(lzo-2.06-1.el6.rfx.x86_64.rpm、lzo-devel-2.06-1.el6.rfx.x86_64.rpm)
下载网址:http://pkgs.repoforge.org/lzo/(根据系统版本及位数)
概要步骤
1.安装和更新gcc、ant
2.在各个节点安装lzo(make install时需要root权限)
3.安装lzo编码/解码器
4.修改配置文件,并同步各节点的配置文件
注:没有特别指出的话,所有操作都是在Namenode中进行的
具体步骤
1.安装gcc ant
查看是否存在gcc,输入命令:gcc --version
tar -zxvfapache-ant-1.9.3-bin.tar.gz
打开/etc/profile添加以下2行:
export ANT_HOME=/usr/local/lzo/apache-ant-1.9.3
exportPATH=$PATH:$ANT_HOME/bin
使配置文件生效:
source/etc/profile
检测是否安装成功命令ant -version
2.安装lzo
tar -zxvf lzo-2.06.tar.gz
cd /usr/local/lzo/lzo-2.06
./configure
make
make install
cp /usr/local/lib/liblzo2.* /usr/lib64/
3.在各节点安装lzo
在各节点上重复上述步骤!
4.安装lzo编码/解码器
安装lzo-devel依赖
rpm - ivh lzo-2.06-1.el6.rfx.x86_64.rpm
rpm - ivh lzo-devel-2.06-1.el6.rfx.x86_64.rpm
解压、编译lzo编码/解码器
unzip hadoop-lzo-master.zip
cd hadoop-lzo-master
exportCFLAGS=-m64
exportCXXFALGS=-m64
antcompile-native tar
编译成功后,还需要把编码/解码器以及native库拷贝到$HADOOP_HOME/lib目录下
cp build/hadoop-lzo-0.4.15.jar$HADOOP_HOME/lib/
cd /usr/local/lzo/hadoop-lzo-master/build/native/Linux-amd64-64/lib
cp *$HADOOP_HOME/lib/native/Linux-amd64-64
(中间会提示是否overwrite时输入yes)
chown -R hadoop:hadoop$HADOOP_HOME/lib/
5.修改hadoop配置文件
a.在hadoop-env.sh 添加,修改 这两行
cd $HADOOP_HOME/conf
#Lzo,Snappy,gzip 等压缩算法库地址
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native/Linux-amd64-64
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_CLASSPATH/hadoop-lzo-0.4.15.jar
b.在core-site.xml中添加
<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,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>
c.在mapred-site.xml中添加
<property>
<name>mapred.compress.map.output</name>
<value>true</value>
<!-- map 和 reduce 输出中间文件默认开启压缩 -->
</property>
<property>
<name>mapred.map.output.compression.codec</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
<!-- 使用 Lzo 库作为压缩算法 -->
</property>
d.同步各节点的配置文件
6.测试
cd$HADOOP_HOME
hadoop jarhadoop-examples-1.1.2.jar wordcout /test.txt /output
运行结果中,如果出现
lzo.GPLNativeCodeLoader: Loaded native gpl library
则说明安装成功