下载以及编译lzo源码包
LZO源码包地址
将下载的源码包使用maven进行编译
使用 mvn clean package
,编译之后将生成adoop-lzo-0.4.20.jar的jar包
特殊说明:也可以不进行编译,直接使用作者编译好的lzo jar包。链接: https://pan.baidu.com/s/13IjKDEokh_dqkGoDY1bIFA 密码: fbtf
将编译之后的jar包上传到node01节点,且同步至其他机器
1 2 3 4 5 6 7 8
|
# 上传 cd /opt/module/hadoop-2.6.0-cdh5.14.2/share/hadoop/common rz ...
# 同步至其他机器 scp hadoop-lzo-0.4.20.jar node02:$PWD scp hadoop-lzo-0.4.20.jar node03:$PWD
|
修改core-site.xml,配置压缩方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
cd /opt/module/hadoop-2.6.0-cdh5.14.2/etc/hadoop vim core-site.xml
<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, org.apache.hadoop.io.compress.SnappyCodec, 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>
|
同步core-site.xml配置到其他机器
1 2 3
|
cd /opt/module/hadoop-2.6.0-cdh5.14.2/etc/hadoop scp core-site.xml node02:$PWD scp core-site.xml node03:$PWD
|
配置hadoop-env.sh(可选)
1
|
export LD_LIBRARY_PATH=/opt/module/hadoop-2.6.0-cdh5.14.2/share/hadoop/common/
|
配置mapred-site.xml(可选)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
<!--启用map中间文件压缩--> <property> <name>mapreduce.map.output.compress</name> <value>true</value> </property> <!--启用map中间压缩类--> <property> <name>mapred.map.output.compression.codec</name> <value>com.hadoop.compression.lzo.LzopCodec</value> </property> <!--启用mapreduce文件压缩--> <property> <name>mapreduce.output.fileoutputformat.compress</name> <value>true</value> </property> <!--启用mapreduce压缩类--> <property> <name>mapreduce.output.fileoutputformat.compress.codec</name> <value>com.hadoop.compression.lzo.LzopCodec</value> </property> <!--配置Jar包--> <property> <name>mapred.child.env</name> <value>LD_LIBRARY_PATH=/opt/module/hadoop-2.6.0-cdh5.14.2/share/hadoop/common/</value> </property>
|
同步hadoop-env.sh以及mapred-site.xml配置到其他机器(可选)
1 2 3 4 5 6
|
cd /opt/module/hadoop-2.6.0-cdh5.14.2/etc/hadoop scp hadoop-env.sh node02:$PWD scp hadoop-env.sh node03:$PWD
scp mapred-site.xml node02:$PWD scp mapred-site.xml node03:$PWD
|
重新启动hdfs集群
1 2
|
stop-dfs.sh start-dfs.sh
|
配置hive支持LZO压缩
直接将hadoop-lzo-0.20.jar这个jar包拷贝到hive的lib目录下即可。
我的hive服务器安装在node03节点上,所以在node03执行以下命令,将jar包拷贝到hive的lib目录下即可。
1
|
cp /opt/module/hadoop-2.6.0-cdh5.14.2/share/hadoop/common/hadoop-lzo-0.4.20.jar /opt/module/hive-1.1.0-cdh5.14.2/lib/
|