版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Hbase运维手册1. region 情况需要检查1. region 的数量(总数和每台 regi on server 上的region 数)2. regio n的大小如果发现异常可以通过手动 merge region和手动分配region来调整从CDH前台和master前台以及regionServer的前台都可以看到region数 量,女口 master前台:(tvtlitn*Kgrt阳 Pr 945*Num RtfitomvnwinodQIMtjn Jw ?0 17 5 36 CST 201460wucnodG?如i册加何桁2$ GST 2QH1359vmcnodaJiMen Jan JO
2、 1/ lMvrnrwcK)6血 20 诃桁 3& C$T 2014MH50vmcngdQTMtxi 加120 诃 帖加 CSt 2QHJ134MvmcnodOSMen Jan V 37CST 201440a56vmcn3dQ9MM20 17 4$ J7 CST 2014058wncmiOMcxi g ?D 17 la CSI0MiQMi 1Q14J605J9在region server前台可以看至U storeFile 大小:RegionsNWw3401W4Nwi34*|HM443W*tbt 3Mi *=Bfi _f细_0 為o幻agiumgtMiXijTOiari12HJTJb Q* 加0
3、08悼OttJMUKTtlM雷1j13Imbtfnm MmMT TfWXtHORK FUdlFIfta楸心a1JVOtrfiw aa 肿 n倉oox 斑TEddasziMo冲1应彰I才K_审*_IW_gr wt T.KI3I77 JC*tW44-!W 7WQ咽郛厦旺甜聊1237mHI Mm fv:(WHU4*11CO! lFVMMri14dI(UCml-fl 比 BRTmaH I 河 E/m詡携go対的5CH抑om.H#en0&H2. 缓存命中率缓存命中率对hbase的读有很大的影响,可以观察这个指标来调整 blockcache 的大小。从regi on server web 页面可以看至U
4、block cache 的情况:Server MetricsBase Stals MemsiyCache Sixs (bytes|i3.3 MRequestshlogsSlone tiesCache Free (bytes-)393.4 MQueuesiHloc k CacheCache Countblock&|Cache Hit CountCache Miss Count40Cache Hit Ratio CacliEr EvicEfon C95%0HBase上Regionserver的内存分为两个部分,一部分作为 Memstore,主要用来 写;另外一部分作为BlockCache,主要用于
5、读。写请求会先写入 Memstore, Regionserver会给每个region提供列族数 提供一定数量的 Memstore,当Memstore满64MB以后,会启动flush 刷新到磁 盘。当Memstore的总大小超过限制时(heapsize *hbase.regionserver.global.memstore.upperLimit* 0.9 ),会强行启动 flush进程,从最大的Memstore开始flush直到低于限制。读请求先到Memstore中查数据,查不到就到 BlockCache中查,再查不 到就会到磁盘上读,并把读的结果放入BlockCache。由于BlockCach
6、e采用的是 LRU策略,因此 BlockCache 达到上限(heapsize * hfile.block.cache.size * 0.85)后,会启动淘汰机制,淘汰掉最老的一批数据。一个Regionserver上有一个BlockCache和N个Memstore,它们的大小之和不 能大于等于heapsize * 0.8 ,否则HBase不能正常启动。默认配置下,BlockCache为0.2,而Memstore为0.4。在注重读响应时间的应 用场景下,可以将BlockCache设置大些,Memstore设置小些,以加大缓存的 命中率。HBase RegionServer包含三个级别的 Bloc
7、k优先级队列:Single :如果一个Block第一次被访问,则放在这一优先级队列中;Multi :如果一个Block被多次访问,则从Single队列移到Multi队列 中;In Memory:如果一个Block是inM emory的,则放到这个队列中。以上将Cache分级思想的好处在于:首先,通过inMemory类型Cache,可以有选择地将in-memory的column families 放到RegionServer内存中,例如 Meta元数据信息;通过区分Single和Multi类型Cache,可以防止由于Scan操作带来的 Cache频繁颠簸,将最少使用的 Block加入到淘汰算法中
8、。默认配置下,对于整个 BlockCache的内存,又按照以下百分比分配给 Single、 Multi、InMemory 使用:0.25、0.50 和 0.25。注意,其中In Memory队列用于保存HBase Meta表元数据信息,因此如果将数 据量很大的用户表设置为InMemory的话,可能会导致Meta表缓存失效,进而 对整个集群的性能产生影响。3. 读写请求数通过读写请求数可以大概看出每台regi on Server的压力,如果压力分布不均匀,应该检查regionServer 上的region以及其它指标Base InfoStarefite Metrics htemsJlDrE Me
9、tric 5RegionsCornpacban Mein匚与hbase meta.,1 15S82S074Q16J872C5_1 142B891125721.140S3216189742 71 D7af38i656be731.00cs_2 1J?6891188?541346414df 3d5A53ac52fb9ec5i?2oOJ &e00C5_3 1428891249B39.70811 B4cff32440e03556c56(2 7306 已 8.001d ?RQn7ft1 AS? 7?ap1 HRr 1 riPrtRRAafipftdRSnnRegion NameRead Request C
10、ountWrite Request Count4. 压缩队列压缩队列存放的是正在压缩的 storefile , compact操作对hbase的读 写影响较大通过cdh的hbase图表库可以看到集群总的压缩队列大小:IMiff*-.第* 4i .Ik4*可以通过CDH的hbase主页查询compact日志:cloudera manager 圭页 ss -主机 Diagnosiic;-审戟 囹第-危厘-06PMSiH& OGAM 1JPU06 PUJan06 AU12PW06 PMh hbase儀晚 匸买例 令習 Z KSi - 审孩 叼関韭蹄 Cf Web UiHBase JT总20M年 12
11、10.5 53 17 下牛 CST图表HBae Web UJ C? micimmOl 备C vrncmelal i&fHlG viiicn下午3*14离好音悅Hdase Mastef运行状盘E点击“压缩”进入:Utt|*离*4- 小 n CzwMClA.XLMt.KML 1tK- hwi .cwvehQHi.ttwWM .f*rittsQAMlLlKMbL lLaB*MMi0b.w屛1 DjntTJiMlMJfMHLMJWWiraWW rBTmWWm IrWM,丄 TMWmi Wwc iMTtt*! 4tafb i .IMMW-4-M. ANhh !Hnavw r皿libjv hmiMI駁 W
12、 JJ.OtMAHMK tffi|wfuitw! kJfr佔=123 *口t PWWF.V bVMM1* iMMriMl*MtaltI *啊3榔 KWw W * D WL1FIMIMWto 岛卄7片円|屮4* 悴U M ! Ml WMi a JI*Mi4tlATN4WUm.i FH 僅 LMM Um 咼 tKMSMZXMOmiJfrHLFaJ.WM细州 iJH W/tHFWlf WVJMJhr.2ML5t j5. 刷新队列单个 region 的 memstore 写满(128M)或 region Server 上所有 region 的 memstore大小总合达到门限时会进行flush操作fl
13、ush 操作会产生新的 storeFile同样可以通过CDF的hbase前台查看flush日志:jwiviAiBT VMHIMmjRKWK.C-OMjTfWtv. I ftiat _W_ kufci mrtriIM f M l iVMJDM. lbpiwmip IH- ta* 盘 匚M *谢昭trtqTPFWWMTW k lJ4fen.專11 鼻T-a口诵北网 “p曲 1, HMM 4l 4; -fMrMrr ; tTa F 包Mf-CaAULIUbit IttlMd IIII taflh kA -M Alif M g rafkwEMnwr Finocwwm njnoiznm jti qiHi
14、wimjtanMrnnxmrMfBtMHr i tHhm,f 卩 w94 iww f1-P 4AV p j Uif肿簞单Mmai6. rpc调用队列没有及时处理的rpc操作会放入rpc操作队列,从rpc队列可以看出服 务器处理请求的情况7. 文件块保存在本地的百分比data node和regi on server 一般都部署在同一台机器上,所以regi onserver管理的region会优先存储在本地,以节省网络开销。如果blocklocality较低有可能是刚做过 balanee或刚重启,经过compact之后region的数据都会写到当前机器的 data node,block local
15、ity也会慢慢达到接近100:Server MetricsMemory Requests hlogrs SlorelfesQtietiesBlock CacheRequests Par SaccndNum. RegioneBlock localitySlew HLog Append Count8. 内存使用情况内存使用情况,主要可以看used Heap和memstore的大小,如果 usedHeadp直超过80-85%以上是比较危险的memstore很小或很大也不正常从region Server 的前台可以看到:Server MetricsBase Stats 1翻 nestsmogsSlor
16、eTieaQueuesBloc K CactbeUted HeapMax HeapDirect Memory UwdOlrect Memory ConfiguredMemitort SU#17.2 M991 7 M1 1 M010 4 K9. 检查数据一致性以及修复方法数据一致性是指:1. 每个region都被正确的分配到一台regionserver 上,并且 region的位置信息及状态都是正确的。2. 每个table都是完整的,每一个可能的rowkey 都可以对应 到唯一的一个 regionhbase hbck注:有时集群正在启动或region正在做split操作,会造成数据不一致hbas
17、e hbck -details加上-details会列出更详细的检查信息,包括所以正在进行的split任务hbase hbck Table1 Table2如果只想检查指定的表,可以在命令后面加上表名,这样可以节省操作时间CDH通过CDH提供的检查报告也可以看到hbck的结果,日常只需要看 CDH hbck 的报告即可:主贡 SC 至机Diagnodics *审悽图裏億理08:20D8 25083008:35一 ! F 1_ R 1 _0o 4C08 45 一 一 -一 二oasoOS55h hbase*状蹇t=实刚命令Z履我审核3圏夷隔& Web HI *HBase汇总2014年 1月223,
18、 9 45:18 下牛 CSTHBase Web UlC: vmcnamOI tfi-flll (3 Tmcmetal fiffljCs vmcnam02 (送动 1華件挟童e Sfi, a_ft i e 全部,gMia 5 -运行状况测试金部軀歼e压缩 e刷新 3贵好#e垢分C:最近的HBase Canary结累 运行状况历史记录e最近的Hbck结廉选择“最近的Hbck结果”:cIouMtmaruiQer ,丁 k n斬-审灵掃Hbtk m?,I*cfe 1) 局部的修复如果出现数据不一致,修复时要最大限度的降低可能出现的风险,使用以下命令对region进行修复风险较低:hbase hbck
19、 -fixAssig nments修复region没有分配(un assig ned),错误分配(in correctly assig ned)以及多次分配(multiplyassigned )的问题hbase hbck -fixMeta删除META表里有记录但HDFS里 没有数据记录的region添加HDFS里有数据但是META表里没有记录的region到META表 hbase hbck -repairHoles等价于: hbase hbck -fixAssig nments -fixMeta -fixHdfsHolesfixHdfsHoles 的作用:如果rowkey出现空洞,即相邻的两个
20、region的 rowkey不连续,则使用这个参数会在 HDFS里面创建一个新的region。创建新 的region之后要使用-fixMeta和-fixAssignments 参数来使用挂载这个 region,所以一般和前两个参数一起使用2)Region重叠修复进行以下操作非常危险,因为这些操作会修改文件系统,需要谨慎操 作!进行以下操作前先使用hbck - details查看详细问题,如果需要进行 修复先停掉应用,如果执行以下命令时同时有数据操作可能会造成不可期的异 常。hbase hbck -fixHdfsOrpha ns将文件系统中的没有 metadata文件(.regioninfo)的
21、region 目录加入至U hbase中,即创建.regioninfo 目录并将 region 分配至U regi on serhbase hbck -fixHdfsOverlaps 通过两种方式可以将rowkey有重叠的region合并:1. merge: 将重叠的 region 合并成一个大的 region2. sideline:将region重叠的部分去掉,并将重叠的数据先写入到临时文件,然后再导入进来。如果重叠的数据很大,直接合并成一个大的region会产生大 量的split和compact操作,可以通过以下参数控制 region过大:-maxMerge合并重叠region 的最大数量
22、-sidelineBigOverlaps假如有大于 maxMerge个数的 region重叠, 则采用sideline 方式处理与其它region的重叠.-maxOverlapsToSideline 如果用 sideline 方式处理重 叠 region, 最多 sideline n 个 region .hbase hbck -repair以下命令的缩写:hba hbase hbck -fixAssig nments -fixMeta -fixHdfsHoles -fixHdfsOrpha ns -fixHdfsOverlaps -fixVersi onF ilesideli neBigOve
23、rlaps可以指定表名:hbahbase hbck -repair Table1 Table2hbase hbck -fixMeta On ly fixAssig nments如果只有META表的region不一致,则可以使用这个命 令修复hbase hbck - fixVersionFileHbase的数据文件启动时需要一个 version file,如果这个文件丢失,可以用这个命令来新建一个,但是要保证hbck的版本和Hbase集群的版本是一样的hbaseorg.apache.hadoop.hbase.util.hbck.Offli neMetaRepair如果ROOT表和 META表都出
24、问题了 Hbase无法启动, 可以用这个命令来创建新的 ROOT和META表0这个命令的前提是Hbase已经关闭,执行时它会从 hbase的home目录加载hbase的相关信息(.regioninfo ),如果表的信息 是完整的就会创建新的root和meta目录及数据hbase hbck - fixSplitParents当region做split 操作的时候,父region会被 自动清除掉。但是有时候子region在父region被清除之前又做了 split。 造成有些延迟离线的父region存在于META表和HDFS,但是没有部署, HBAS又不能清除他们。这种情况下可以使用此命令重置这些
25、在 META表中的region为在线状态并且没有split。然后就可以使用之前的修复命令把这个 region修复10. 手动 merge region进行操作前先将balancer关闭,操作完成后再打开 balancer合并方法:1. 找到需要合并的region 的encoded name2. 进入 hbase shell3. 执行 merge_region region1 , region2 手动分配region如果发现台regionServer资源占用特别高,可以检查这台regionserver 上的region是否存在过多比较大的region,通过hbase shell 将部分比较 大的
26、regi on分配给其他不是很忙的 regio ns server :move en codeRegi on Name, ServerName# encodeRegionNamef旨的 regioName 后面的编码,ServerName指的是 master-status的 Region Servers 列表例:move24d9eef6ba5616b1a60180503e62bae7,DN1,60020,1429840460046手动 major_compact进行操作前先将balancer关闭,操作完成后再打开 balancer选择一个系统比较空闲的时间手工major_compact,如果h
27、base更新不是太频繁,可以一个星期对所有表做一次 major_compact,这个可以在做完一次 major_compact后,观看所有的storefile 数量,如果storefile数量增加到major_compact后的storefile 的近二倍时,可以对所有表做一次 major_compact,时间比较长,操作尽量避免高锋期注:fms现在生产上开启了自动 major_compact,不需要做手动 major compact bala nce_switchbalance_switch true打开 balancerbalance_switch flase关闭 balancer配置ma
28、ster是否执行平衡各个regionserver的region数量,当我们需要 维护或者重启一个 regi on server 时,会关闭 bala ncer,这样就使得 region 在regionserver上的分布不均,这个时候需要手工的开启 balanee。regi on server 重启graceful_stop.sh -restart -reload -debugnoden ame进行操作前先将balancer关闭,操作完成后再打开 balancer这个操作是平滑的重启regi on server进程,对服务不会有影响,他会先将 需要重启的regionserver上面的所有 re
29、gion迁移到其它的服务器,然后重启, 最后又会将之前的region迁移回来,但我们修改一个配置时,可以用这种方式重启每一台机子,对于hbase regionserver 重启,不要直接kill去重启,如果运气不太好,请求会全部失败进程,这样会造成在 zookeeper.sessi on .timeout 这个时间长的中断,也不要 通过 bin/hbase-daem on.sh stop regi on server-ROOT或者.META.表在上面的话,所有的regi on server 关闭下线bin /graceful_stop.shnoden ame进行操作前先将balancer关闭,
30、操作完成后再打开 balancer和上面一样,系统会在关闭之前迁移所有region,然后stop进程flush 表所有memstore刷新到hdfs,通常如果发现regionserver 的内存使用过大, 造成该机的regionserver很多线程block,可以执行一下flush操作,这个操作会造成hbase的storefile数量剧增,应尽量避免这个操作,还有一种情况,在hbase进行迁移的时候,如果选择拷贝文件方式,可以先停写 入,然后flush所有表,拷贝文件强制splitHbase允许客户端强制执行 split, 在hbase shell中执行以下命令:split forced_ta
31、ble, b / 其中 forced_table 为要 split 的 table , b为split 点region splits执行过程:region server 处理写请求的时候,会先写入 memstore,当 memstore 达至到一定 大小的时候,会写入磁盘成为一个 store file。这个过程叫做 memstore flush。当store files堆积到一定大小的时候,region server 会 执行compact操作,把他们合成一个大的文件。当每次执行完flush或者compact操作,都会判断是否需要split 。当发生split的时候,会生成两个region A
32、和region B但是pare nt region数据file 并不会发生复制等操作,而是regi on A和region B会有这些file的引用。这些引用文件会在下次发生compact操作的时候清理掉,并且当region中有引用文件的时候是不会再进行split操作的。这个地方需要注意一下:(大量的写入会刷大量的HFile,个region就会对这大量的hfile 进行compact 操作。如果这时候触发了 split操作,这个region会成为父region,而两个子 region会保留父region的引用文件。而在这其间,子region会继续写入数据。 那么又可能触发子region的com
33、pact,这里的关键点来了子region如果做compact的文件都是新写入的文件,而迟迟不去compact父region引用的文件, 会导致一个问题就是这个子 region无法被split掉了(因为含有父region引用的region是不能被split的)。那么子region越来越大,由于写入文件 数量急剧增长,父region的ref文件总也得不到机会compact,就形成了大region 的恶性循环情况 由于 region 太大,compact无法完成,但是由于 compact无法完成导致 region 无法 split ,无法分摊 compact的压力给其他 regi on server
34、 。)虽然split region 操作是region server 单独确定的,但是split 过程必须和 很多其他部件合作。region server在split开始前和结束前通知master,并且 需要更新.META表,这样,客户端就能知道有新的region。在hdfs中重新排列 目录结构和数据文件。split是一个复杂的操作。在split regio n的时候会记录当前执行的状态,当出错的时候,会根据状态进行回滚。下图表示split 中,执行的过程。(红色线表示region server 或者master的操作,绿色线表示 clie nt 的操作。)1. region server决定
35、 split region,第一步,region server 在 zookeeper中创建在/hbase/region-in-transition/region-name目录下,仓U建一个 znode,状态为SPLITTING.2. 因为 master 有对region-in-transition的 znode 做监听,所以,mater 的得知 pare nt regio n 需要 split3. regi on server 在 hdfs 的 pare nt region 的目录下创建一个名为 “ .splits ” 的子目录4. regio n server 关闭pare nt regi
36、o n。强制flush 缓存,并且在本地数据结构 中标记regio n为下线状态。如果这个时候客户端刚好请求到 pare nt region , 会抛出NotServingRegionException 。这时客户端会进行补偿性重试。5. region server在.split目录下分别为两个 daughter region创建目录和必要的数据结构。然后创建两个引用文件指向pare nt regi ons的文件。6. region server在HDFSt,创建真正的region目录,并且把引用文件移到对应的目录下。7. region server发送一个put的请求到.META表中,并且在
37、.META.表中设置pare nt regi on 为下线状态,并且在 pare nt regi on 对应的row中两个 daughter region的信息。但是这个时候在.META.表中daughter region还不是独立的row。这个时候如果 clie nt sca n .META.表,会发现 pare nt regio n 正在 split , 但是clie nt 还看不到daughter regio n 的信息。当这个 put成功之后,pare nt region split 会被正在的执行。如果在 RPC成功之前region server 就失败 T, master和下次打开 pare nt region 的region server 会清除关于这次 split的脏状态。但是当RPC返回结果给到pare nt regi on ,即.META.成功更新之后, region split的流程还会继续进行下去。相当于是个补偿机制,下次在打开这个pare nt regio n 的时候会进行相应的清理操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水处理管网工程课程设计
- 牛头刨床课程设计草稿
- 漆器鉴定课程设计
- 航空机务士官课程设计
- 什么是美术拓展课程设计
- 供应链课程设计调研提纲
- 河南理工数电课程设计
- 菜花制作课程设计
- 2024钟点工劳动合同范本2
- 楼梯构造设计课程设计
- GB/T 19609-2024卷烟用常规分析用吸烟机测定总粒相物和焦油
- (高清版)DB34∕T 1146-2010 保温装饰一体板外墙外保温系统
- GB/T 44457-2024加氢站用储氢压力容器
- 2024年内蒙古呼和浩特市中考英语试卷真题(含答案解析)
- 全等三角形的判定 边边边说课稿2024-2025学年人教版数学八年级上册
- 2024-2030年中国酒类电子商务行业盈利模式分析与发展潜力评估研究报告
- 近三年投标没有发生过重大质量安全事故的书面声明范文
- 2024时事政治考试题库(100题)
- 2024年甘肃庆阳市林业和草原局招聘专职聘用制护林员57人历年(高频重点复习提升训练)共500题附带答案详解
- 2024年宜宾市中考英语试题(附答案)
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
评论
0/150
提交评论