hadoop lzo配置
这个东西,看来很复杂,网上一搜很多资料。
总的来说就是
一,需要编译hadoop lzo部分的代码,然后添加到hadoop lib里面。
二,然后在core-site.xml、mapred-site.xml、hadoop-env.sh里面加几个参数,
三,重启集群就ok了。
虽然看上去就三步,不过编译hadoop lzo部分的代码还是有点小麻烦的。
现在主要记录下这块把。
说明:
a,yum install lzo-devel.x86_64
b。部署编译好的库文件
c,修改配置文件
这三个是要在每个节点上执行的。
其他的都是为了编译做准备,只需要在一台机器上执行就行了。
具体过程如下:
主要分为以下几步:
1,下载lzo库和相关工具
下载之前,配置好yum是必须的,嘿嘿。
然后执行
yum install lzo-devel.x86_64 lzop.x86_64 gcc --nogpgcheck
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.18.x86_64 export CFLAGS=-m64 export CXXFLAGS=-m64 ant compile-native tar
export HADOOP_CLASSPATH="${HADOOP_PREFIX}/lib/hadoop-lzo-0.4.14.jar:${HADOOP_CLASSPATH}"
<property> <name>io.compression.codecs</name> <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,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>
<property> <name>mapreduce.map.output.compress</name> <value>true</value> </property> <property> <name>mapreduce.map.output.compress.codec</name> <value>com.hadoop.compression.lzo.LzoCodec</value> </property> <property> <name>mapred.child.env</name> <value>JAVA_LIBRARY_PATH=/home/hadoop/hadoop-0.20.2-cdh3u3/lib/native/Linux-amd64-64</value> </property>