进阶课程小象学院hbase课时21exportweek_第1页
进阶课程小象学院hbase课时21exportweek_第2页
进阶课程小象学院hbase课时21exportweek_第3页
进阶课程小象学院hbase课时21exportweek_第4页
进阶课程小象学院hbase课时21exportweek_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、性能调优举例面向高并发写入优化优化点保证负载均衡 保证写入顺畅 防止小文件过多减少不必要的磁盘和网络io预分region参考“数据怎么存”预分region禁用split region时间戳为key或前缀时,加入额外的分片前缀扫描和时每个分片都需要进行一次wal禁用或延迟setDurability(Durability d) Durability是wal延迟类型枚举类有丢失数据可能表属性DEFERRED_LOG_FLUSH(Deprecated)和DURABILITY小象学院面向高并发写入优化增大memstore阻塞写入阈值hbase.regionserver.global.memstore.u

2、pperLimit降低写入阻塞的风险增大hbase.hstore.blockingStoreFiles降低写入阻塞风险增大memstore flush阈值hbase.regionserver.global.memstore.lowerLimit增大单次flush出的文件大小减少文件数小步快倒降低compaction最小文件数限制、适当提高最大文件数限制单次参与文件少paction.min paction.max防止频繁写入导致flush频繁,进而导致文件数过多大步慢走提高compaction最小文件数限制、进一步提高最大文件数限制加大单次compaction文件参与数量多个region同在一个

3、region server时,提高线程数 hbase.regio hbase.regiopaction.large小象学院paction.small面向高并发写入优化避免服务尖峰时进行major compactionhbase.offpeak.start.hour hbase.offpeak.end.hourpaction.ratio.offpeak compaction占用较多带宽防止在系统繁忙时影响服务避免过大文件参与compactionpaction.ratio决定compaction文件长度差搜索”深入分析HBase Compaction机制”降低单次compaction占用带宽覆盖写

4、入和删除较少,可以限制参与compaction文件大小paction.max.size有效降低compaction带来的带宽永远不会进行major compaction小象学院面向高并发随机读优化使用过滤防止发生full gc增防止内存紧张合理调整jvm参数lockcache增加缓存hfilock.cache.size使用bucketcache使用ssd磁盘作为二级缓存0.98开始支持减小BLOCKSIZE减少data block中的数据增加索引,减少平均查找长度降低缓存置换成本减少物理层读放大小象学院面向高并发随机读优化缓存充足提高compaction最小文件数限制减少compaction文

5、件删除后,相关block缓存会被清除提高paction.ratio以及使用paction.max.size减少大文件参与compaction降低受影响的block写入block后同时缓存hfilock.*(block类型).cacheonwrite当缓存足以放下全量数据时配置,加快block进入内存缓存不足提高compaction最大文件数限制缩短major compaction频率小象学院hbas两者都是为了减少文件数尽可能减少读操作放大paction当请求并发足够高时,杯水车薪高并发顺序读顺序读是hbase的强项hbase.rs.prefetchblocksonopen需要缓存充足设置为t

6、rue打开文件时预取block,对于全表扫描效果明显与*.cacheonwrite区别:region被重新加载也可以预取block高并发顺序读,可能会变为随机读ResultScanner实例与相关机器数比过大不同ResultScanner的next请求引起并发磁盘io过多导致磁盘操作变为随机读对scan操作按照startkey排序、 按所在region server分组,并发执行在map reduce中也可以使用此策略小象学院高并发读写爷,加点机器可好? 整体高并发转为单机低并发写入转为bulkload方式region server针对读优化省略wal省略memstore flush省略小文件

7、compaction操作复杂数据延时高小象学院总结清楚原理分析瓶颈查询相关配置大胆假设求证常总结小象学院们:新浪:ChinaHadoop公号:ChinaHadoop披荆斩棘方法论复杂故障处理经验关于方法论并入工具中的方法论可形式化部分被并入hbck中被称作aid boxhbase check缩写没有方法论留给不可形式化只有经验尝试总结出可形式化的方法搜索”工程的形式化方法”小象学院问题查找经验确定HDFS正常name node web ui确定没有block miss、确定data node状态确定未处于安全模式hdfs异常导致的常见现象region server进程退出region serv

8、er进程中会检测hdfs故障hdfs持续故障后,region server进程主动退出客户端部分请求异常block miss下部分文件无法get请求无法顺利完成文件操作客户端写入请求阻塞安全模式下hdfs无法写入 memstore 无法flush等达到配置的阻塞阈值master阻塞安全模式下,master会阻塞部分处理小象学院问题查找经验确定zookeeper正常确定zookeeper dump可确定zookeeper客户端可以zookeeper异常导致的常见现象半数以上服务端master进程退出zookeeper是master判断集群状态的数据源如果zookeeper不可master会退出节

9、点异常,流程无法完成处理region被反复加载zookeeper状态不一致master与region server处理的region状态不一致zookeeper实例数为2个时发生过小象学院从cnt开始查找问题nt开始查找问题从c异常信息中可以发掘不同原因的异常信息不同失败操作相关region信息异常相关region server异常相关hdfs文件异常相关data node异常原因问题查找经验观察WEB UI首先确认master和region server是否正常借助WEB UI初步判断问题master task monitorsplitting log正在处理的region来自客户端的请求r

10、egion server task monitorregion加载 compaction split region来自客户端的请求zookeeper dump未加载完成的regionregion加载异常信息一个region轮流被不同的region server加载无法正常加载检查region server log小象学院问题查找经验master与region server的log包含各类处理的细节region加载有问题查找region encode相关log各类处理有问题查找关键字memstore查找Exception、pact、split、splitting等 忽略掉NotServingRe

11、gionException查找exit线程退出打印关键字可判断线程是否异常退出发现性能瓶颈没有异常各类任务满负荷小象学院问题查找经验hbase hbckHBase集群的一致性hdfsmeta表region server中挂载的region region被多个region server重复加载 hdfs和meta表中存在,但是未被加载 hdfs存在但是meta表中没有等发现start key与end key有空洞的表也就是说region不连续发现start key与end key有一般由region split故障造成的表小象学院问题查找经验根据log追源码找到了根本原因 直接修改找不到根本原因

12、加log等待下次重现小象学院问题查找经验java调试工具注意权限问题jps输出java进程id以及启动参数jstack输出java进程中各线程状态会检测线jmap是否有死锁dump java进程内存状态快照jhat可以建立用于分析jmap dump出的快照文件的web ui内存泄露分析gc log js实时输出堆内存各区域使用情况小象学院异常恢复的常用方法hbck0.94后大幅强化能修复90%不一致问题集群状态正常,没有卡主的任务尝试解决检测出的问题调用后根据影响region的数量等待一段时间,然后再次检测 默认等待1分钟,但是region数过多时往往1分钟解决不了问题多次修复失败需要依据经验

13、手动修复,有可能重启也无法解决调整参数根据log发现瓶颈分析并调整相关参数小象学院异常恢复的常用方法根据异常分析hdfs block异常确定block是否丢失尝试修复无法修复只能删除文件通信异常端口占用net.ipv4.ip_local_port_range不机器名配置错误too many open files其他进程异常CLOSE_WAIT过多0.94容易出现的问题 store file过多compaction异常配置不合理等等依靠经验搜索引擎小象学院异常恢复的常用方法重启一筹莫展时的常用伎俩重启大量region server时需要重启master小象学院们:新浪:ChinaHadoop公号

14、:ChinaHadoop披荆斩棘实例复杂故障处理举例NotServingRegionException观察region是否存在于异常中的region server上一般都不在如果在查看region server的task monitor是否有region相关操作堵住进一步观察region server log观察region挂载是否完成zk dumpregion挂载状态以及是否有异常如果挂载相关region server经常切换则有异常进一步查看region server log文件损坏或异常 修复或删除region split时生成的的文件的目标不存在文件名格式:”原文件名.原region

15、encode”文件已被删除删除文件master task monitor是否有挂载卡主进一步查看master log小象学院NotServingRegionException举例从客户端log开始,通过WEB UI找到问题现象客户端总是报出NotServingRegionException发现问题过程根据客户端异常中的region及region server查找region是否已被加载发现并未加载zookeeper dump中能够发现此region的region endoce通过zookeeper dump中的异常,发现open region时,无法找到引用文件文件和region已不存在解决删

16、除文件即可低版本中禁用auto split小象学院too many open files从region server的log找到问题现象region server由于too many open files退出重启后过一段时间,一定概率又会退出region server越少,退出现象越频繁发现问题过程观察退出前nets和lsof,没有异常根据log发现在open region时容易出现异常发现region对应的store file异常多 compaction没有生效分析compact相关的部分log发现先是因为最大文件数限制忽略掉过多文件,然后因为最小文件数被取消执行发现配置有误解决修正配置文件

17、小象学院LZO安装失败导致master异常退出通过观察log解决问题现象部分region server没有region挂载一旦运行balancer,则master异常退出版本0.94.3cdh4发现问题过程观察异常退出master log发现退出原因是加载region的结果状态与预期不符找到相关region的分配log,确定目标region server在region server log中发现加载region时无法加载lzo静态库解决安装依赖包重启集群小象学院region start key end key有hbck无法修复后动修复现象hbck中发现表有异常进一步观察输出发现region不连

18、续在web页面上发现region start key end key有 0.89fb中hbck功能有限无法修复解决编写代码关闭子region将子region中的文件 拷贝到父region目录 重新open父region小象学院缓存异常重启解决问题现象scan或get失败发现问题过程根据客户端日志定位发生问题的region serverregion server log中显示block type失败根据原理,异常的block可能来自物理文件或缓存如果是文件损坏后续的block都会受到影响现在只是一个block坏掉 所以否定了此原因如果是block物理内容写入错误则无法解决此问题重启后仍然无法解决

19、如果是缓存数据错误重启可解决解决办法重启相关region server,以清空缓存。问题得到解决,并可以验证为缓存处理有BUG。小象学院region长时间未被加载分析源码发现问题现象重启集群后产生的问题zookeeper dump中发现大量region长时间无法加载 hbck能促进部分region加载成功,但需要反复执行 hbase版本较老为0.89fb0.94中已修复发现问题过程web ui中的task monitor并未有任务卡主查找master log中未加载的region encode发现有分配操作查找region server log中并未发现region encode相关日志master分配操作几秒后,region server中出现ReadTimeOutException根据异常栈整理代码逻辑region server是在向master发送的心跳请求的返回值中得到region加载操作的网络压力较大,需要加载的region较多,导致返回消息较长,最终导致RPC请

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论