2012-11-13 48 views
1

我在本地文件系統上使用HBase並創建了幾個表。現在我配置了HDFS並希望HBase使用它。我開始使用Namenode和Datanode,但無法找到可以告訴HBase使用HDFS的設置。我認爲它可能在重啓時拾取HDFS,所以我這樣做(stop-hbase + start-hbase),但我仍然能夠看到我早先在本機文件系統上創建的表。如何強制HBase在HDFS上運行?

我該如何告訴HBase使用HDFS?

回答

3

在$ HBASE_HOME/conf/hbase-site.xml中hbase.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的將使用/HBase的目錄在HDFS。

+0

如果我使用hbase和hadoop的獨立模式,那麼hbase.rootdir將具有相同的值,否則呢? – Mr37037