HBase不稳定因素分析详解大数据

Hbase不稳定因素分析

  • 配置问题
    • 内存配置不正确
      目前hbase内存主要如下几个配置项:
      1)HBASE_HEAPSIZE HBase RegionServer是内存贪婪性的,按照经验判断至少8~16G内存,但也不宜过大,更多内存应该分配给HBASE_OFFHEAPSIZE
      2)HBASE_OFFHEAPSIZE Hbase offheap内存为非堆内存,主要在hbase缓存数据时使用,需要配合如下配置项使用,其中hbase.bucketcache.size的配置经验值为:HBASE_OFFHEAPSIZE*1024*0.8 MB

      <property>
      <name>hbase.bucketcache.ioengine</name>
      <value>offheap</value>
      </property>
      <property>
      <name>hbase.bucketcache.size</name>
      <value>HBASE_OFFHEAPSIZE*1024*0.8</value>
      </property>

    • 磁盘配置不正确
      太少的磁盘会导致集群的IO瓶颈,所以为了获取更好的IO性能,可以增加集群硬盘数量,但是不要加的太多,否则在几点或者磁盘出现故障时复制副本会很耗时。
  • 系统问题
    • 时间服务器不同步导致集群服务无法启动
      目前regionserver节点的时间和master的时间差距大于30000ms,就是30秒时无法启动服务。此问题可以有两种解决方法:
      1)定期同步各个节点的时间
      2)可以修改集群中配置,增大时间差值(如果业务上不依赖hbase时间戳机制,可以将此值设置很大)

      <property>
      <name>hbase.master.maxclockskew</name>
      <value>180000</value>
      <description>Time difference of regionserver from master</description>
      </property>

    • hostname映射不正确,导致集群服务无法启动
      http://hbase.apache.org/book.html#trouble.zookeeper
  • Hbase内部机制问题
    • hbase major compact导致集群不稳定
      major compact时会触发hbase集群密集的IO,此时会影响集群的读写性能,可能导致部分请求超时,如果对实时性要求比较高,可以禁止major compact,等集群空闲时手动执行。
    • hbase垃圾清理时间过长,导致超时
      此问题目前已经修改hbase-env.sh文件中配置的垃圾收集器算法
    • zookeeper sesstion timeout
      • 增大zookeeper超时时间(参考如下链接)
        1)修改 $ZOOKEEPER_HOME/conf/zoo.cfg中tickTime配置

        The number of milliseconds of each tick
        tickTime=6000

        具体配置描述可参考如下链接中的信息:
        http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_configuration
        2)修改$HBASE_HOME/conf/hbase-site.xml中的配置:

        <property>
        <name>zookeeper.session.timeout</name>
        <value>1200000</value>
        </property>
        <property>
        <name>hbase.zookeeper.property.tickTime</name>
        <value>6000</value>
        </property>

        http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired

      • zookeeper比Hbase Master对延迟更加敏感,推荐给zookeeper配置专用的磁盘写数据。
  • 部署操作问题
    • 集群格式化时,hbase集群格式化不干净,导致服务无法启动

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/9562.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论