参考:http://hbase.apache.org/book.html#hbckhttps://docs.cloudera.com/documentation/enterprise/5-16-x/topics/admin_hbase_hbck.htmlHBaseFsck(hbck)是一种命令行工具,可检查region一致性和表
原创
2021-09-01 16:19:21
1869阅读
“hbase2.0已经正式发布,对比之前1.x版本,2.0在读写链路上做了完善的优化,offheap、netty rpc等,这里做个小测试实验对比1.x和2.0在读写上的延时情况。本测试基于特定测试环境与软件版本得到的结果,仅供参考。”测试介绍1 测试环境 HBase2.0集群,2副本DataNode,单regionserver,便于线性扩展; 集群的配置 : 8core x 16G
原创
2021-04-01 20:16:33
286阅读
背景 hbase2.0已经正式发布,对比之前1.x版本,2.0在读写链路上做了完善的优化,offheap、netty rpc等,这里做个小测试实验对比1.x和2.0在读写上的延时情况。本测试基于特定测试环境与软件版本得到的结果,仅供参考。
转载
2019-04-24 16:32:05
1311阅读
HBase shell常用命令查询服务器状态hbase(main):002:0> status1 active master, 1 backup masters, 4 servers, 0 dead, 33.0000 average load查看HBase版本信息hbase(main):006:0* version1.2.5, rd7b05f79dee10e0ada614765bb354b9
原创
2021-03-10 10:31:36
446阅读
hbase2.0已经正式发布,对比之前1.x版本,2.0在读写链路上做了完善的优化,offheap、netty rpc等,这里做个小测试实验对比1.x和2.0在读写上的延时情况。本测试基于特定测试环境与软件版本得到的结果,仅供参考。
转载
2021-07-23 10:28:37
339阅读
生产上遇到一个比较有意思的问题,我这里简单给大家讲解一下: 现象: 由于同事反应生产上在HBase Shell中,通过 get ‘表’,‘rowkey’ 获取数据的时候,经常会出现,连续多次执行同一条get命令,前面N-1次可能没问题,到了第N次就卡住了,时间一长就报超时的错误。 我看了下后台日志也没有太明显的错误,其他方法都试了也没解决掉这个问题,后来好好想了下,这个集群最近一
原创
2021-03-10 10:24:00
2982阅读
1.概述: HBase包含几种将数据加载到表中的方法。最直接的方法是使用MapReduce作业中的TableOutputFormat类,或者使用客户端api;然而,这些并不总是最有效的方法。 BulkLoad将文本文件或者其他数据库上传到HDFS中。将数据转换为HFile,这个步骤需要MapReduce,将Rowkey作为OutputKey,将一个Put或者Delete作为Output
原创
2021-03-10 10:35:53
701阅读
一、ZooKeeper相关知识:概念: Zookeeper是一个分布式应用程序协调服务,提供了简单易用的接口和性能高效、功能稳定的系统让用户可以很轻松解决分布式应用程序下面的出现的协调服务,确保避免出现竞态条件或者死锁等错误。其设计目标是减轻分布式应用从零开始实现分布式协调服务的压力。 假设我们的程序是分布式部署在多台机器上,如果我们要改变程序的配置文件,需要逐台机器去修改,非常麻烦,现在
原创
2021-03-10 10:23:30
824阅读
引言: 上篇文章“HBase1.x精通:详解HBase读缓存BlockCache(一)”主要讲解了HBase块缓存的机制和三种策略,我们生产环境当前用的版本是HBase1.2.5,它默认的读缓存策略是LruBlockCache,下面我就结合HBase1.2.5源码深入剖析LruBlockCache的实现。1.BlockCache初始化 当每个HRegionserver线程通过函数run
原创
2021-03-10 10:21:36
623阅读
概述: 缓存对于任何一个数据库都非常重要,如果有条件允许,我们更愿意把所有的数据都缓存到内存中,就不存在任何的磁盘IO,但对于大数据来说缓存所有数据几乎是不可能的,基于二八法则,我们80%的业务请求都集中在20%的数据里面,如果把这20%的数据缓存到内存中,数据库的性能将会有极大的提升。 HBase上Regionserver的内存分为两个部分:一部分作为Memstore,主要用
原创
2021-03-10 10:20:45
833阅读
软件版本: hadoop2.7.3 hbase1.2.5 zookeeper3.4.61.问题描述: 生产HBase集群由于批量导入20亿数据之后,集群上产生了很多的region,各个Regionserver上的region负载已经达到了1200,很多数据表的region已经不在线,在手动执行major compact之前没有用hbase hbck命令进行集群状态检查和修复,
原创
2021-03-10 09:30:41
1393阅读
一、ZooKeeper相关知识:概念: Zookeeper是一个分布式应用程序协调服务,提供了简单易用的接口和性能高效、功能稳定的系统让用户可以很轻松解决分布式应用程序下面的出现的协调服务,确保避免出现竞态条件或者死锁等错误。其设计目标是减轻分布式应用从零开始实现分布式协调服务的压力。 假设我们的程序是分布式部署在多台机器上,如果我们要改变程序的配置文件,需要逐台机器去修改,非常麻烦,现在
原创
2021-03-10 09:42:30
320阅读
HBase是基于一种LSM-Tree(Log-Structured Merge Tree)存储模型设计的,client端向HBase的各个Regionserver写入数据时,首先会写入预写日志WAL文件,这个文件一般是放在HDFS上被所有Regionserver节点共享,然后才写入MemStore内存,MemStore默认大小是128MB(跟block大小一致,不建议修改),如果MemStore达
原创
2021-03-10 10:27:48
6287阅读
以前常用的关系数据库mysql、oracle 误删除后,都可通过各种方式进行数据的恢复,而HBase中如果我们误删除了表中的一行或者一行中的几列数据能不能恢复呢?答案是肯定的,HBase可设置KEEP_DELETED_CELLS 为 True 的目的在于防止数据被物理删除:先来说下HBase的两个属性:KEEP_DELETED_CELLS和TTL 1.创建表时指定列族的TTL[time to li
原创
2021-03-10 10:28:27
596阅读
概述: HBase日常开发中可能需要根据查询条件对固定表部分列建立二级索引存到另外一张表,或要求在插入A表的同时,需要同步部分列到B表中,我们就可以通过协处理实现这个需求:实例:A表:表名:student主键:rowID列族:info,列:info:name,info:age,info:score,info:adress,info:phoneNumberB表: 表名:index_stud
原创
2021-03-10 10:35:07
351阅读
生产上运维HBase的过程中经常遇到drop表失败的情况,一般我们通过删除hdfs存储目录、zookeeper数据的的方式进行强制删除。大体步骤如下: 这里以表“testTable12”为例删除testTable12表在HDFS上的所有数据[hbase@master98 ~]$ hadoop fs -rm -r -f /apps/hbase/data/data/default/testT
原创
2021-03-10 10:29:27
1324阅读
第一部门:Region拆分的实现(官网翻译) client端向hbase写数据,首先从zookeeper中获取元数据存储所在的regionserver,查找对应的region,在region中寻找列族,先向memstore中写入数据,开始都会先写入memstore(默认128MB)中(如果开启了WAL日志,则先写入WAL日志),随着数据写入增加,触发溢写操作(flush),溢写到磁盘文件生成
原创
2021-03-10 10:33:46
2036阅读
作为Hadoop集群维护人员,经常误操作直接将HBase表数据误删除,生产数据肯定是不能直接删除的,下面我详细给大家演示下,如何快速恢复误删除的表:为方便大家理解,我先讲一下HBase在hdfs上的目录结构,先看下面这张图:一共9个目录和2个文件:目录:1.hbase-snapshot如果hbase开启了快照,用户对一个数据表建立快照table_snapshot1,则hbase会在这个目录下新建一
原创
2021-03-10 09:26:29
420阅读
作为Hadoop集群维护人员,经常误操作直接将HBase表数据误删除,生产数据肯定是不能直接删除的,下面我详细给大家演示下,如何快速恢复误删除的表:为方便大家理解,我先讲一下HBase在hdfs上的目录结构,先看下面这张图:一共9个目录和2个文件:目录:1.hbase-snapshot如果hbase开启了快照,用户对一个数据表建立快照table_snapshot1,则hbase会在这个目录下新建一
原创
2021-03-10 09:26:35
157阅读
作为Hadoop集群维护人员,经常误操作直接将HBase表数据误删除,生产数据肯定是不能直接删除的,下面我详细给大家演示下,如何快速恢复误删除的表:为方便大家理解,我先讲一下HBase在hdfs上的目录结构,先看下面这张图:一共9个目录和2个文件:目录:1.hbase-snapshot如果hbase开启了快照,用户对一个数据表建立快照table_snapshot1,则hbase会在这个目录下新建一
原创
2021-03-10 10:26:56
755阅读