从Java访问HBase时,第一个连接非常慢。这正常吗?

从Java访问HBase时,第一个连接非常慢。这正常吗?,java,hbase,apache-zookeeper,Java,Hbase,Apache Zookeeper,我们有一个Javaservlet,它通过org.apache.Hadoop.HBase.client.HTable.HTable连接到Hadoop之上的几个HBase表 第一个HTable实例化总是非常慢(约2800ms),而随后的调用则非常快(约60ms) 读取HTable类源表明zookeeper连接在HTable实例之间共享,因此,这可能与某些zookeeper初始化延迟相对应,但我仍然想知道其他人是否看到类似的延迟,以及是否有一些配置选项可以加快速度?经过调查,似乎是的,第一个表初始化需

我们有一个Javaservlet,它通过
org.apache.Hadoop.HBase.client.HTable.HTable
连接到Hadoop之上的几个HBase表

第一个HTable实例化总是非常慢(约2800ms),而随后的调用则非常快(约60ms)


读取HTable类源表明zookeeper连接在HTable实例之间共享,因此,这可能与某些zookeeper初始化延迟相对应,但我仍然想知道其他人是否看到类似的延迟,以及是否有一些配置选项可以加快速度?

经过调查,似乎是的,第一个
表初始化需要几秒钟是正常的。一些来源建议使用
HTablePool
跨线程共享HTable接口,从而避免多次出现初始化延迟。
HTable
对象本身不应共享,因为它不是线程安全的。

您的评论很有帮助。我们不使用HTablePool,我们使用的是一个共享HTable实例。我现在看到,在多线程环境中不建议使用HTable实例,这就是我们的情况。我将进一步调查HTablePool并向您汇报。