我在本机文件系统上使用 HBase 并创建了一些表。现在我配置了 HDFS 并希望 HBase 使用它。我启动了 Namenode 和 Datanode,但找不到可以告诉 HBase 使用 HDFS 的设置。
我认为它可能会在重新启动时获取 HDFS,所以我这样做了(stop-hbase + start-hbase),但我仍然能够看到我之前在本机文件系统上创建的表。
如何告诉 HBase 使用 HDFS?
在 $HBASE_HOME/conf/hbase-site.xmlhbase.rootdir
中定义了 HBase 保存的文件系统/目录。请参阅:
http ://hbase.apache.org/book/config.files.html#hbase_default_configurations
我假设您想在伪分布式模式下配置 HBase。如果是这样,请在 中设置以下内容hbase-site.xml
:
<configuration>
...
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
...
</configuration>
在这种情况下,HBase 将使用 HDFS 中的/hbase目录。