Hbase region查找过程】的更多相关文章

HBase的table是该region切分的,client操作一个row的时候,如何知道这个row对应的region是在哪台Region server上呢?这里有个region location过程.主要涉及到2张系统表,-ROOT-,.META..其结构见图 在zookeeper的/hbase/root-region-server节点中存着-ROOT-表所在的Region Server地址. -ROOT-表的一个row代表着META的一个region信息,其key的结构是META表名,META…
在合并Region的过程中出现永久RIT怎么办?笔者在生产环境中就遇到过这种情况,在批量合并Region的过程中,出现了永久MERGING_NEW的情况,虽然这种情况不会影响现有集群的正常的服务能力,但是如果集群有某个节点发生重启,那么可能此时该RegionServer上的Region是没法均衡的.因为在RIT状态时,HBase是不会执行Region负载均衡的,即使手动执行balancer命令也是无效的. 如果不解决这种RIT情况,那么后续有HBase节点相继重启,这样会导致整个集群的Regio…
hbase的读写过程: hbase的架构: Hbase真实数据hbase真实数据存储在hdfs上,通过配置文件的hbase.rootdir属性可知,文件在/user/hbase/下hdfs dfs -ls /user/hbaseFound 8 itemsdrwxr-xr-x - root supergroup 0 2019-05-30 10:05 /user/hbase/.tmpdrwxr-xr-x - root supergroup 0 2019-05-30 11:11 /user/hbase…
参与 Region 分配的重要对象 在 Region 分配过程中,起着重要作用有如下一些对象. HMaster— 是 HBase 中的 Master server ,仅有一个. HRegionServer--- 负责多个 HRegion 使之能向 client 端提供服务,在 HBase cluster 中存在多个HRegionServer . ServerManager--- 负责管理 Region server 信息,比如每个 Region server 的 HServerInfo( 这个对…
1.概述 HBase中表的基本单位是Region,日常在调用HBase API操作一个表时,交互的数据也会以Region的形式进行呈现.一个表可以有若干个Region,今天笔者就来和大家分享一下Region合并的一些问题和解决方法. 2.内容 在分析合并Region之前,我们先来了解一下Region的体系结构,如下图所示: 从图中可知,能够总结以下知识点: HRegion:一个Region可以包含多个Store: Store:每个Store包含一个Memstore和若干个StoreFile: S…
问题现象:hive执行sql报错 select count(*) from test_hive_table; 报错 Error: java.io.IOException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions: Wed May 16 10:22:17 CST 2018, null, java.net.SocketTimeoutException:…
Hbase是kv存储,但是逻辑上我们可以把存储在hbase上的kv数据当成表,rowkey可以认为是表的主键.为了便于分布式操作,hbase会把表横向切分成一块一块的数据,而每块就是一个Region.为了提供在线服务,我们必须把Region加载到集群中的某台机器上,这个加载的过程正是region assign要做的.顺便说一句,hbase中把表切分region和HDFS中文件切分成block,Spark中RDD切分成partitions的思想都是一样的. region assgin的流程 reg…
首先,“路径”分为三种: 1.绝对路径,以/开头(unix系统)或c:等盘符开头(windows系统). 2.相对路径,以.开头,有./(当前目录)和../(上级目录). 3.其他路径,不是绝对路径和相对路径,直接以目录或文件名开头的路径,如include('whatever.php'). ----------------------------------------------------------有没有那么一首歌--------------------------------------…
收到一封邮件,有位朋友认为我误解了nf-HiPAC.如此的一个高性能算法怎能被什么传统的hash,tree之类的胁迫.是啊.HiPAC是一个非常猛的算法.文档也比較少,这就更加添加了其神奇感,可是这决不意味着它是不可理解的.相反.它的思想非常easy. HiPAC算法本质上是一种基于优先级的区间匹配算法.怎么理解呢?我们把匹配域定义成一个连续的区间,那么每一条Rule则定义了该区间的一段子区间.假设多条规则覆盖了同样的子区间.那么就涉及到了优先级的问题.这个在防火墙的訪问控制列表中非常实用,在存…
1.什么是maven? Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. 2.什么是项目管理工具? 就是SVN.对于SVN的介绍见我的上一篇博客: 3.maven的好处? 使用传统的web项目开发的crm的大小大约在48M左右. 同样的项目使用maven,它的大小为127KB左右. 4.小结: 同样的项目使用maven工程来实现,它的项目源码很小.可以初步推断项目中没有jar包. 5.思考:没有jar包怎么运行? 分析jar包的查找过程:…
HBase 数据读写过程描述 我们熟悉的在 Hadoop 使用的文件格式有许多种,例如: Avro:用于 HDFS 数据序序列化与 Parquet:常见于 Hive 数据文件保存在 HDFS中 HFile HFile 是 HBase 使用的一种柱状存储文件,非常适合随机和实时读写. HFile 文件的头部记载 FileInfo 和 Meta 这是元数据.在启动 RegionServer 后每一个RegionServer 节点会将本地 DataNode 保存的 HFile 文件中的 FileInf…
这是一篇命题作文.近期一直想写点东西,但一直找不到题目.正好收到一封邮件,有人问我Linux路由表的布局问题以及路由缓存的问题,加之前些日子又帮人做了一个片上路由表,所以认为这是个好题目,索性花了多半个周末的时间,奋笔疾书. 前面的套话 不写命题作文已经11年了.最后一次是在高考的考场上. 收到邮件时,被人要求写这样的命题作文,其实我是拒绝的,由于你不能叫我写我就立即去写,首先我自己得懂这个.我又不能说到了写完了的时候贴了非常多baidu出来的图片,说了非常多套话,人家一看就知道我这是转载或者翻…
[From]https://community.hortonworks.com/content/supportkb/244808/hbase-region-in-transition-issue-on-master-ui.html Problem Description: When the HBASE Region In Transition issue occurs on Master UI, check the hbck -details. There could be multiple r…
master启动过程: -->首先初始化HMaster -->创建一个rpcServer,其中并启动 -->启动一个Listener线程,功能是监听client的请求,将请求放入nio请求队列,逻辑如下: -->创建n个selector,和一个n个线程的readpool,n由"ipc.server.read.threadpool.size"决定,默认为10 -->读取每个请求的头和内容,将内容放入priorityQueue中 -->启动一个Respo…
Region的概念 Region是HBase数据管理的基本单位.数据的move,数据的balance,数据的split,都是按照region来进行操作的. region中存储这用户的真实数据,而为了管理这些数据,HBase使用了RegionSever来管理region. 一个表中可以包含一个或多个Region. 每个Region只能被一个RS(RegionServer)提供服务,RS可以同时服务多个Region,来自不同RS上的Region组合成表格的整体逻辑视图. regionServer其实…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwoAAACdCAMAAAAjbX91AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK…
一.Split触发条件   1.  有任一一个Hfile的大小超过默认值10G时,都会进行split    2.  达到这个值不在拆分,默认为int_max,不进行拆分       3.compaction时,如果compact的store的大小超过了,则进行split         4. flush之前会检测区域中HStoreFile数目是否超过hbase.hstore.blockingStoreFiles,如果超过且没有等待超时会调用CompactSplitThread.requestSp…
我们会经常谈及二级索引,这是对全表数据进行另外一种方式的组织存储,是针对table级别的.如果要为HBase上的表实现一个强一致性的二级索引,那么就无法逃避分布式事务,而这一直是用户最期待的功能. 而即使只需要保证最终一致性,这个索引也并不好实现,因为你需要额外的表以存储过程数据,需要解决宕机恢复问题等 撇开分布式事务,我们是否可以考虑对索引的要求进行降级,比如把Region看成是全表下的子表,实现一套Region级别的索引,通过功能上的牺牲以换取实现的简易及稳定. 在某些存在用户概念的场景下,…
Region 各个状态的转换 HBase 维护了每个 region 的一个状态信息,并保存在 hbase:meta 中.hbase:meta 本身region的状态信息被持久化到 ZooKeeper.也可以在 HBase Master Web UI 里查看到 regions 的转换状态.以下是一个 region 可能出现的状态: 1. OFFLINE:region处于offline 状态,not opening 2. OPENING:region处于正在被opened 状态 3. OPEN:re…
分裂策略 不同的分裂策略的实现需要继承RegionSplitPolicy,主要实现两个方法: shouldSplit()表示是否需要分裂 getSplitPoint()得到分裂点rowkey 从 HBase 0.94之后,默认的分裂策略是IncreasingToUpperBoundRegionSplitPolicy ,思想就是当Region的大小超过某个阈值时,即进行分裂. 这个阈值主要由如下几个因素决定: hbase.hregion.max.filesize hbase.increasing.…
Region Server的整体架构 本文主要介绍Region的整体架构,后续再慢慢介绍region的各部分具体实现和源码 RegionServer逻辑架构图 RegionServer职责 1.      监听协作,通过zk来侦听master.meta位置.集群状态等信息的变化,更新本地数据. 2.      管理region的offline.online.open.close等操作,这些操作是和hmaster配合这来做的,region的状态有如下这些 offline.opening.open.…
业务场景: Kafka+SparkStreaming+Hbase由于数据大量的迁移,再加上业务的改动,新增了很多表,导致rerigon总数接近4万(36个节点) 组件版本: Kafka:2.1.1 Spark:2.2.0-cdh5.12.0 Hbase:1.2.0-cdh5.12.0 问题发现: CDH界面较多关于web服务器相应时间过长,和队列刷新速度较慢.streaming界面,每隔一段时间就会需要较长的处理时间 解决过程: [1] 首先把一些业务不需要的表disable掉,region下线…
1,删除hbase中的 hbase:meta表中相应的region的row 如; get 'hbase:meta','kylin_metadata,,1481101316881.f3b4c7c1148aee68fbaaecd2dfdb9e70.' delete 'hbase:meta','kylin_metadata,,1481101316881.f3b4c7c1148aee68fbaaecd2dfdb9e70.','info:regioninfo' delete 'hbase:meta','k…
1. 简介 HBase 的最小管理单位为region,region会按照region 分裂策略进行分裂. 基于CDH5.4.2 2. 总览…
问题背景 本次进行一个项目的重构,在某些活动数据量比较大的情况下,会偶尔出现1200s超时的情况,如下: AttemptID:attempt_1410771599055_11709_m_000033_0 Timed out after 1200 secs 而hadoop会不断启动备份任务进行重试,重试也许成功,但失败的概率还是比较大: 经过分析,hadoop的任务都有个超时时间,使用下面的参数设置,表示1200s后如果没有进展,就会任务该任务超时,将其状态设置为FAILED. -Dmapredu…
1  hbase hbck -repair 强制修复 如果ok就可以 2 不ok,找到hdfs上对应的该表位置,删除,之后在使用hbase hbck -repair 解决过程: 第一次,使用了方法二,然后解决了问题(自己可以查其他博客,有很多这样的博客文章) 第二次,过几天又出现了这种情况,然后用方法1直接修复成功(总结优先使用方法1 ,不行的话,再用方法2强制暴力解决) 产生原因: 1 我使用了Phoenix,然后同时有读和写操作,导致了HBASE不稳定,再加上机器配置不高 2 之后调整了读写…
发现有些regison程序操作失败,其他region 都是正常的,重启regionserver 后依然报同样的错误. 首先进入hbase的bin目录,执行下面命令检查表是否有存储一致性问题: hbase hbck -details table 如出现以下提示,则说明有不一致的地方,2表示个数: inconsistencies detected. 既然不一致,咱就尝试修复一下(这个功能要管理权限,使用慎重): hbase hbck -repair table 修复完了以后结果如下: Summary…
一,环境准备 hadoop 2.8.2 分布式环境(三个节点 安装请参考 hadoop分布式环境安装) hbase 1.2.6  分布式环境(三个节点 ,安装参考hbase分布式环境安装 ) 主节点采用 ubuntu 16.04 桌面版 ,从节点为服务器版的ubuntu 16.04 主机: 172.16.12.1          zhoujun (主机点) 172.16.12.129      hadoop3 172.16.12.131      hadoop2 二,Ganglia的简介 关于…
经过前面几章的简单介绍,我们已经大致了解了jvm的启动框架和执行流程了.不过,这些都是些无关痛痒的问题,几行文字描述一下即可. 所以,今天我们从另一个角度来讲解jvm的一些东西,以便可以更多一点认知.即如题:jvm是如何找到对应的java方法,然后执行的呢?(但是执行太复杂,太重要,我们就不说了.我们单看如何找到对应的java方法吧) 1. 回顾核心变量JNIEnv的初始化 如上一篇系列文章中讲到的,jdk执行的核心方法,实际上也是调用jvm或者hotspot的接口方法实现的,这其中有个重要变量…
先来一张大图. Hbase上Regionserver的内存分为两个部分,一部分作为Memstore,主要用来写:另外一部分作为BlockCache,主要用于读数据:这里主要介绍写数据的部分,即Memstore.当RegionServer(RS)收到写请求的时候(writerequest),RS会将请求转至相应的Region.每一个Region都存储着一些列(a set of rows).根据其列族的不同,将这些列数据存储在相应的列族中(Column Family,简写CF).不同的CF中的数据存…