hbase部署经验与坑总结

1.本地单机部署hbase,想要使用独立zookeeper,不使用自带的

vim conf/hbase-env.sh

export HBASE_MANAGES_ZK=false

设置不使用自带zookeeper,这一步设置完按理说就可以使用独立的zookeeper程序了,但是总是报错:

Could not start ZK at requested port of 2181.  ZK was started at port: 2182.  Aborting as clients (e.g. shell) will not be able to find this ZK quorum.

很明显,这是启动自带zookeeper与独立zookeeper冲突了

很疑惑,明明设置不启动自带zookeeper了,为什么还是去启动了,后来上网查询才知道,把hbase.cluster.distributed设置为false,也就是让hbase以standalone模式运行时,依然会去启动自带的zookeeper

所以要做如下设置,值为true

vim conf/hbase-site.xml

<property>

 <name>hbase.cluster.distributed</name>

<value>true</value> 

</property>

2.idea javaapi 连接本地hbase超时

hbase-site.xml增加配置

<property>
<name>hbase.master.ipc.address</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hbase.regionserver.ipc.address</name>
<value>0.0.0.0</value>
</property>

3.如下异常

java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.

hbase-site.xml增加配置 

<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>

原文地址:https://www.cnblogs.com/kevin19931015/p/9243230.html