hbase测试过程中遇到的一些问题及解决方案

1、hbase启动regionserver自动挂掉
   出现此问题先看看个个hbase节点是时间是否同步,没同步就同步时间,hbase各节点如果时间不同步会有此类问题
   也有可能是并发太大导致的问题


2、zookeeper连接过多问题:
   修改ZOOKEEPER_HOME/conf/zoo.cfg文件,在其中加入:maxClientCnxns=10000
   同时修改hdfs-size.xml文件,在其中加入属性:
hbase.zookeeper.property.maxClientCnxns
10000



hbase写入无响应解决方案:
1、region划分太频繁导致hbase不服务解决方案:
   在hdfs-size.xml文件中增加配置:hbase.hregion.max.filesize
   改为107374182400,不切分region,然后在系统运行不繁忙的时候手动切分region
   
2、region平衡造成的hbase不服务解决方案:
   在hbase shell下执行:balance_switch false
   关闭自动平衡,然后在系统运行不繁忙的时候在hbase shell下执行:balance_switch true,
   平衡完成再执行:balance_switch false
   
3、禁止Major Compaction
   在hbase进行Major Compaction时,该region将合并所有的storefile,因此整个region都不可读,所有对此region的查询都会block。HBase默认一天左右执行一次Major Compaction。我们将Major Compaction禁掉并用Cron脚本每天在系统空闲时对所有表执行major compaction。
   
     hbase.hregion.majorcompaction
     0
   



4、设置blockingStoreFiles
    在flushRegion时会检测当前store中hfile的数量是否大于此值(默认为7),如果大于则会block数据的写入,等待其他线程将hfile compact掉。这样,如果写入速度超过compact的速度,hbase就会阻止该region的数据写入。

      hbase.hstore.blockingStoreFiles
      50000000000
   

你可能感兴趣的:(hbase)