前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hadoop2.7.1和Hbase0.98添加LZO压缩

Hadoop2.7.1和Hbase0.98添加LZO压缩

作者头像
我是攻城师
发布于 2018-05-14 06:18:59
发布于 2018-05-14 06:18:59
1.4K00
代码可运行
举报
文章被收录于专栏:我是攻城师我是攻城师
运行总次数:0
代码可运行

1,执行命令安装一些依赖组件 yum install -y hadoop-lzo lzo lzo-devel hadoop-lzo-native lzop 2, 下载lzo的源码包并解压 wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz tar -zxvf lzo-2.09.tar.gz 3,在当前目录新建一个lzo目录,存储编译后的lzo文件 进入lzo-2.09目录 依次执行命令: export CFLAGS=-64m ./configure --enable-shared --prefix=/home/search/lzo make && make install 4,下载twitter的hadoop-lzo源码进行编译: git clone https://github.com/twitter/hadoop-lzo.git 进入hadoop-lzo目录,修改pom中hadoop的版本为2.7.1 然后依次执行如下命令,配置环境变量: export CFLAGS=-64m export CXXFLAGS=-64m export C_INCLUDE_PATH=/home/search/lzo/include export LIBRARY_PATH=/home/search/lzo/lib 然后执行mvn clean test构建 mvn clean test 确认success后,即可执行: mvn clean package -Dmaven.test.skip=true 进行打包构建,构建成功后, 拷贝编译文件 cp -a hadoop-lzo/target/native/Linux-amd64-64/lib/* 到hadoop/lib/native/ 和 hbase/lib/ 下面 拷贝lzo的jar包cp -a hadoop-lzo/target/hadoop-lzo-0.4.20-SNAPSHOT.jar 到hadoop/share/hadoop/common/lib下面和hbase/lib下面 //测试hbase是否支持snappy hbase org.apache.hadoop.hbase.util.CompressionTest /user/webmaster/word/in/tt2 snappy //测试hbase是否支持lzo hbase org.apache.hadoop.hbase.util.CompressionTest /user/webmaster/word/in/tt2 lzo //压缩lzop,解压缩lzop -d //执行一个MR任务,给lzo相关数据,建索引, bin/hadoop jar share/hadoop/common/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar com.hadoop.compression.lzo.DistributedLzoIndexer /user/webmaster/rand //执行一个单机任务,给lzo相关数据,建索引 bin/hadoop jar share/hadoop/common/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar com.hadoop.compression.lzo.LzoIndexer /user/webmaster/rand 经过测试同样的数据: 不设置任何压缩的hbase表,所占存储空间最大 经过snappy压缩的表,存储空间明显变小 经过lzo压缩的表,存储空间最小 遇到的问题: 一个hbase中,如果同时有两种压缩表,一个是lzo压缩的表,一个是snappy压缩的表,那么在使用java client去scan数据时,可能会有regionserver会挂掉,经过查看log,发现hbase中并无明显异常,但是同节点的hadoop的datanode的log中会抛出了如下异常:

Java代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.io.IOException: Premature EOF from inputStream  
        at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:201)  
        at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doReadFully(PacketReceiver.java:213)  
        at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.doRead(PacketReceiver.java:134)  
        at org.apache.hadoop.hdfs.protocol.datatransfer.PacketReceiver.receiveNextPacket(PacketReceiver.java:109)  
        at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receivePacket(BlockReceiver.java:472)  
        at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.receiveBlock(BlockReceiver.java:849)  
        at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:804)  
        at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.opWriteBlock(Receiver.java:137)  
        at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.processOp(Receiver.java:74)  
        at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:251)  
        at java.lang.Thread.run(Thread.java:745)  

经过查资料,发现说的都是hbase的客户端租约超时,或者是linux的句柄数太少,等等,经过验证,发现跟这些处理方法没关系,删除了一个snappy压缩的表,继续测试,这下能正常运行了, 至于具体的原理,还没搞清楚,可能与hbase的hfile的底层存储有关系,一个region下面不能同时存储在两种压缩数据结构,这个坑得记住。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我是攻城师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一次bug死磕经历之Hbase堆内存小导致regionserver频繁挂掉 编辑
环境如下: Centos6.5 Apache Hadoop2.7.1 Apache Hbase0.98.12 Apache Zookeeper3.4.6 JDK1.7 Ant1.9.5 Maven3.0.5 最近在测Hbase的压缩,Hadoop安装了lzo和snappy,插入50条文本数据,每条数据大约4M,来看他们的压缩率对比, 然后在测的过程中,发现用java客户端去scan这50条数据时,regionserver频繁宕机看hbase的log发现并无明显异常,查看datano
我是攻城师
2018/05/14
8330
HDFS 线程参数DataXceiver 引发的故障
腾讯云大数据团队服务的某个大客户,hadoop集群超过300台服务器。因为大数据平台承载的业务程序非常多(每天超过5万次任务运行在yarn)、datanode的IO压力很大,在今天下午datanode出现大面积故障。通过日志查找,发现以下信息:
mikealzhou
2019/03/15
14K4
HBase案例 | 20000个分区导致HBase集群宕机事故处理
这是几个月前遇到的一次HBase集群宕机事件,今天重新整理下事故分析报告。概况的说是业务方的一个10节点HBase集群支撑百TB级别的数据量,集群region数量达 23000+,最终集群支持不住业务压力,带来了一次惨痛的宕机事件。
大数据技术架构
2019/08/16
2.3K0
Hadoop2.0 lzo压缩的安装和配置
lzo压缩格式有很快的压缩/解压速度和合理的压缩率,并且支持分块(split),所以lzo是目前在Hadoop中最流行的压缩格式。hadoop中的lzo不是自带的,如果要支持lzo,需要另外安装。本文介绍了在hadoop2.0上安装和配置lzo,同样也适用于hadoop1.0。
星哥玩云
2022/06/30
8100
Flink写hudi报datanode异常以及解决办法
这几天在使用tpcds数据对hudi 0.12.0写入性能进行压测,发现在数据写入半小时后,即出现异常,并且程序不断重启,任务异常日志如下:
从大数据到人工智能
2023/01/08
2.7K0
Hadoop支持Lzo压缩配置及案例
1)hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下。 2)将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/
王知无-import_bigdata
2020/09/08
2.1K0
Hadoop大数据部署
关闭防火墙: systemctl stop firewalld systemctl disable firewalld
星哥玩云
2022/07/20
5480
hadoop-spark-hive-hbase配置相关说明
或者 ./runRemoteCmd.sh '~/och200/zookeeper/bin/zkServer-initialize.sh --myid=1' zoo
用户3003813
2018/09/06
6840
大数据日志收集框架之Flume入门
Flume是Cloudrea公司开源的一款优秀的日志收集框架,主要经历了两个大的版本,分别是 Flume-OG Flume-NG OG是0.9.x的版本,依赖zookeeper,角色职责不够单一
我是攻城师
2018/05/14
1.2K0
Hadoop2.4 支持snappy
我们Hadoop 2.4集群默认不支持snappy压缩,但是最近有业务方说他们的部分数据是snappy压缩的(这部分数据由另外一个集群提供给他们时就是snappy压缩格式的)想迁移到到我们集群上面来进行计算,但是直接运行时报错:
星哥玩云
2022/07/03
6890
Hive快速入门系列(12) | Hive的数据压缩介绍及使用
配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的 注意:采用root角色编译,减少文件夹权限出现问题
不温卜火
2020/10/28
7480
Hbase故障处理汇总及评注
Hbase是企业比较常用的大数据组件,对于开发来讲,单纯的开发几乎不可能,往往都会搭建集群,甚至负责集群的维护,特别是公司规模较小。我们VIP中很多成员,都是一个成员扛起了整个公司的大数据部门,被称之为“扛把子”。
用户1410343
2019/11/06
7.4K0
Hadoop 2.2.0和HBase-0.98 安装snappy
关于上面的依赖包,如果在Ubuntu下,使用sudo apt-get install * 命令安装,如果在CentOS下,使用sudo yum install *命令来安装。
星哥玩云
2022/07/03
1.4K0
Spark SQL+Hive历险记
基础依赖环境 Apache Hadoop2.7.1 Apache Spark1.6.0 Apache Hive1.2.1 Apache Hbase0.98.12 (1)提前安装好scala的版本,我这里是2.11.7 (2)下载spark-1.6.0源码,解压进入根目录编译 (3)dev/change-scala-version.sh 2.11 修改pom文件,修改对应的hadoop,hbase,hive的版本 执行编译支持hive功能的spark (4)mvn -Pyarn
我是攻城师
2018/05/14
1.3K0
(三)HDFS配置多目录与支持LZO压缩
3)增加磁盘后,保证每个目录数据均衡 开启数据均衡命令: bin/start-balancer.sh –threshold 10 对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。 停止数据均衡命令: bin/stop-balancer.sh 实时的通信检测,也会浪费一定资源,因此调配过后就可以关闭了。
wolf
2020/09/21
9690
Hadoop2.6.0-cdh5.4.1源码编译安装
版本使用范围,大致 与Apache Hadoop编译步骤一致大同小异,因为CDH的Hadoop的本来就是从社区版迁过来的,所以,这篇文章同样适合所有的以Apache Hadoop为原型的其他商业版本的hadoop编译,例如,Cloudera(CDH)的hadoop和Hortonworks(HDP)的的hadoop编译,下面开工: 1,环境准备(Cenots6.x,其他的大同小异) (1)yum安装 sudo yum install -y autoconf automake libtool git
我是攻城师
2018/05/11
2.5K0
大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化
注意:truncate,清空表数据,实际底层操作是先使表不可用(下线),然后删除表,最后根据表信息重新创建一张新表。
黑泽君
2019/03/15
1.9K0
大数据技术之_11_HBase学习_02_HBase API 操作 + HBase 与 Hive 集成 + HBase 优化
hbase安装配置(整合到hadoop)
如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/
黄规速
2022/04/14
1.7K0
hbase安装配置(整合到hadoop)
HBase快速入门系列(8) | 一文教你HBase与Hive如何集成
  Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。
不温卜火
2020/10/28
8830
HBase快速入门系列(8) | 一文教你HBase与Hive如何集成
Hadoop lzo的使用方法
前面的文章介绍了Hadoop lzo的安装和配置(见 http://www.linuxidc.com/Linux/2014-05/101090.htm ),本文接着介绍lzo压缩在hadoop应用程序中的使用方法,包括在mapreduce程序,streaming程序和hive中的使用。 1 给lzo文件建立索引
星哥玩云
2022/07/01
1K0
相关推荐
一次bug死磕经历之Hbase堆内存小导致regionserver频繁挂掉 编辑
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验