Hadoop 使用hbase中现有的zookeeper

Hadoop 使用hbase中现有的zookeeper,hadoop,hbase,apache-zookeeper,Hadoop,Hbase,Apache Zookeeper,我在独立模式下启动了zookeeper服务,zookeeper二进制文件与Kafka一起携带。以下是zookeeper.properties的内容 dataDir=/tmp/zookeeper clientPort=2181 maxClientCnxns=0 我使用以下命令启动zookeeper kafka/bin/zookeeper-server-start.sh conf

我在独立模式下启动了zookeeper服务,zookeeper二进制文件与Kafka一起携带。以下是zookeeper.properties的内容

dataDir=/tmp/zookeeper                     
clientPort=2181                                     
maxClientCnxns=0  
我使用以下命令启动zookeeper

kafka/bin/zookeeper-server-start.sh config/zookeeper.properties
现在zookeeper已经启动并运行,所以我不希望hbase启动自己的zookeeper服务。我在
hbase env.sh
中设置了以下属性:

export HBASE_MANAGES_ZK=false
此外,这里还有
hbase site.xml
的内容

<configuration>              
  <property>                 
    <name>hbase.rootdir</name>                             
    <value>hdfs://localhost:8030/hbase</value>             
  </property>                
</configuration>      

hbase似乎仍在尝试启动自己的zookeeper,如何防止它这样做?

我假设您正在尝试以伪分布式模式运行hbase。在这种情况下,hbase.cluster.distributed应设置为true,并且应在hbase-site.xml中提供您的zookeeper仲裁详细信息,如

中所述,使用hbase for Kafka使用的ZK为我解决了问题。按如下所示配置$HBASE_HOME/conf/HBASE-site.xml并启动HBASE服务器。此后,仅启动kafka服务器

hbase-site.xml配置

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>/tmp/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/tmp/zookeeper</value>
    </property>
</configuration>

hbase.rootdir
/tmp/hbase
hbase.zookeeper.property.dataDir
/tmp/动物园管理员
<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>/tmp/hbase</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/tmp/zookeeper</value>
    </property>
</configuration>