1、hbase启动regionserver自动挂掉
出现此问题先看看个个hbase节点是时间是否同步,没同步就同步时间,hbase各节点如果时间不同步会有此类问题
也有可能是并发太大导致的问题
2、zookeeper连接过多问题:
修改ZOOKEEPER_HOME/conf/zoo.cfg文件,在其中加入:maxClientCnxns=10000
同时修改hdfs-size.xml文件,在其中加入属性:<property>
<name>hbase.zookeeper.property.maxClientCnxns</name>
<value>10000</value>
</property>
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。
<property>
<name>hbase.hregion.majorcompaction</name>
<value>0</value>
</property>
4、设置blockingStoreFiles
在flushRegion时会检测当前store中hfile的数量是否大于此值(默认为7),如果大于则会block数据的写入,等待其他线程将hfile compact掉。这样,如果写入速度超过compact的速度,hbase就会阻止该region的数据写入。
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>50000000000</value>
</property>
出现此问题先看看个个hbase节点是时间是否同步,没同步就同步时间,hbase各节点如果时间不同步会有此类问题
也有可能是并发太大导致的问题
2、zookeeper连接过多问题:
修改ZOOKEEPER_HOME/conf/zoo.cfg文件,在其中加入:maxClientCnxns=10000
同时修改hdfs-size.xml文件,在其中加入属性:<property>
<name>hbase.zookeeper.property.maxClientCnxns</name>
<value>10000</value>
</property>
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。
<property>
<name>hbase.hregion.majorcompaction</name>
<value>0</value>
</property>
4、设置blockingStoreFiles
在flushRegion时会检测当前store中hfile的数量是否大于此值(默认为7),如果大于则会block数据的写入,等待其他线程将hfile compact掉。这样,如果写入速度超过compact的速度,hbase就会阻止该region的数据写入。
<property>
<name>hbase.hstore.blockingStoreFiles</name>
<value>50000000000</value>
</property>