我正在关注Hadoop for Dummies的书。本书的说明修改HBase中的文件hbase-site.xml,如下所示:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/biadmin/my-local-hbase/hbase-data</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2222</value>
<description>Property from ZooKeeper's config zoo.cfg.
The port at which the clients will connect.
</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/biadmin/my-local-hbase/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>bivm</value>
</property>
</configuration>
它说:
使用hbase.rootdir属性,在本地文件系统中指定一个目录来存储HBase数据。在生产环境中,此属性将指向数据存储的HDFS。您还将hbase.cluster.distributed属性设置为true,这会导致HBase以伪分布模式启动。如果您选择不将此属性设置为true,则HBase将在单个Java虚拟机(JVM)中运行所有必需的进程。但是,为了便于说明,伪分布式模式将导致HBase启动RegionServer实例,MasterServer实例和Zookeeper进程。此外,您需要指定hbase.zookeeper。 property.clientPort,Zookeeper将存储其数据的目录(hbase.zookeeper.property.dataDir)以及Zookeeper将运行以形成仲裁(hbase.zookeeper.quorum)的服务器列表。对于独立服务器,仅指定单个Zookeeper服务器bivm。
当我启动hbase时,我收到此错误:
Bivm: ssh: Could not resolve hostname bivm.
有人可以建议如何解决这个问题吗?感谢!!!
答案 0 :(得分:0)
HBase依赖于名为Zookeeper的服务来管理其状态。默认情况下,HBase为您管理Zookeeper服务(除非您更改HBASE_MANAGES_ZK
变量),但您需要对其进行配置。其中一个选项直接在hbase-site.xml
中 - 这是hbase.zookeeper.*
属性的用途。
由于Zookeeper可以作为分布式服务运行,因此hbase.zookeeper.quorum
包含运行Zookeeper的主机上以逗号分隔的列表。我假设您只在一台计算机上运行,因此您应将其值设置为localhost
:
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>
您之前已将其设置为bivm
,这是一个在您的网络上不存在的主机名,您无法解析它。
我建议您在HBase documentation或this question了解有关该主题的更多信息。