CDH5集群配置lzo

一、安装lzo

1、下载与集群版本相对应的parcel包

parcels下载

我CDH版本是5.11.0,所以下载如下三个文件

[root@hadoop002 lzo]# ll
total 2440
-rw-r--r-- 1 root root 2476671 Jan 12 10:24 GPLEXTRAS-5.11.0-1.cdh5.11.0.p0.30-el6.parcel
-rw-r--r-- 1 root root      41 Jan 12 10:23 GPLEXTRAS-5.11.0-1.cdh5.11.0.p0.30-el6.parcel.sha
-rw-r--r-- 1 root root   14104 Jan 12 10:24 manifest.json

2、将下载的三个文件移动到以下目录

/var/www/html/lzo

http://ip/lzo浏览一下看是否有文件

3、进入CM界面–>主机—>Parcel

单机击配置

image

添加lzo所在的地址
image

依次点击分配、激活。最终效果图
image

二、修改lzo的配置

1、修改hdfs配置,在io.compression.codecs配置中添加以下两属性

com.hadoop.compression.lzo.LzopCodec
com.hadoop.compression.lzo.LzoCodec

如图
image

2、修改yarn配置,在mapreduce.application.classpath配置中。添加以下属性

/opt/cloudera/parcels/GPLEXTRAS/lib/*

此目录在机器上验证一下,是否存在。如果不存在。那么步骤一lzo安装就是有问题的

image

3、修改yarn配置,在mapreduce.admin.user.env配置中。添加以下属性

/opt/cloudera/parcels/GPLEXTRAS/lib/hadoop/lib/native

image

4、回到CM主界面,刚才修改的地方都需要使其生效(重要),点击如图按钮使其生效
image

三、测试压缩

1、创建测试文件,并使用lzop命令压缩,然后上传到hdfs上

[root@hadoop02 ~]# cat lzo.txt
1, AAA
2, BBB
3, CCC
4, DDD
5, EEE
[root@hadoop02 ~]# lzop lzo.txt
[root@hadoop02 ~]# ls
lzo.txt  lzo.txt.lzo
[root@hadoop02 ~]# cat lzo.txt.lzoLZO

  0     @▒▒Xs
             lzo.txtD▒▒##v▒▒1, AAA
2, BBB
3, CCC
4, DDD
5, EEE
[hdfs@hadoop02 ~]$ hadoop fs -put lzo.txt.lzo /user/hive/
[hdfs@hadoop02 ~]$ hadoop fs -ls /user/hive
Found 2 items
-rw-r--r--   3 hdfs hive         96 2017-01-09 11:32 /user/hive/lzo.txt.lzo
drwxrwxrwt   - hive hive          0 2017-01-03 11:20 /user/hive/warehouse

2、创建hive表并指定/user/hive/

create external table lzo(id int,name string) 
row format delimited fields terminated by ',' 
STORED AS INPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' 
location '/user/hive'

如果此处报lzo格式找不到,那么很有可能你刚才的配置没有生效。

3、查看

hive> select * from lzo;
OK
1        AAA
2        BBB
3        CCC
4        DDD
5        EEE
Time taken: 0.283 seconds, Fetched: 5 row(s)

4、如果是需要在session中通过insert向hive LZO表插入数据,需要在insert之前添加以下两条设置命令

SET hive.exec.compress.output=true;
SET mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值