hbase常见错误

  • Post author:
  • Post category:其他


一、启动部分:

1、当启动hbase时,logs目录下的zookeeper输出文件提示错误:java.io.IOException: Failed to process transaction type:

1 error: KeeperErrorCode = NoNode for /hbase

解答:该错误一般在断电重启时出现,删除/tmp/hbase-{user}文件夹即可

2、某些jar包需要手动添加的根本原因

解决:由于解决hadoop启动时的警告,将环境变量中的HAD0OP_HOME改为HADOOP_INSTALL。而hbase的某些环境变量是基于HADOOP_HOME而写的。

3、启动hbase后,一段时间后不同于HRegionServer进程停止

解决:很有可能与HMaster时间不同步导致。

二、写部分:

1、当调用htable的put后,无论你是否设置autoflush为false,当关闭htable时,会触发flushCommits()。这个函数的功能是将该PUT创建一个线程向hmaster提交。当频率过高的htable.close()时,这样的线程便会高速增长,从而耗掉你client端的JVM,触发OOM

三、读部分:

1、对表可以做哪些配置提高读速度?

解决:bloomfilter、in-memory flag

三、运维部分:

1、当某RS做split或者compact时,如果我们设置的hfile数量过多,导致DataNode->linux系统无法同时打开相应数量的文件,会导致该RS下线。

解决:(1)提高系统打开文件数量vi /etc/security/limits.conf

添加:username  soft   nofile   4096

username  hard nofile   4096

(2)hadoop配置 vi {hadoop}/etc/hadoop/hdfs-site.xml

<property>

<name>dfs.datanode.max.xcievers</name>

<value>4096</value>

</property>

2、hbase常用优化参数(hbase-site.xml)

zookeeper.session.timeout//ZK连接超时时间

(1)、写优化参数

  • hbase.regionserver.handler.count//RS线程数
  • hbase.regionserver.global.memstore.upperLimit/lower//MS限制比例
  • hbase.hregion.memstore.block.multiplier//超过单个MS大小的多少倍,触发FLUSH
  • hbase.hstore.blockingStoreFiles//HRegion中的Hifle数,超过触发COMPACT
  • hbase.hregion.max.fiesize//hfile最大值
  • hbase.server.thread.wakefrequency//睡眠等待时间

(2)、读优化参数

  • hfile.block.cache.size//读缓存大小

不断补充ing…..








版权声明:本文为zhangrukun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。