恢复如何在HBase中运行

时间:2013-03-18 05:09:32

标签: hadoop hbase

我想观察HBase中的恢复工作方式,我使用了以下代码片段

    Put p=new Put(Bytes.toBytes("name10"));
    p.setWriteAheadLog(true);
    p.add(Bytes.toBytes("cf"), Bytes.toBytes("name"),Bytes.toBytes("Some Value 10"));
    table.setAutoFlush(true);
    table.put(p);

执行上面的代码后,我重新启动了我的VM (不停止HBase)并启动了HBase,当我通过此表扫描时,Rowkey名称10没有显示出来。当我正确停止 HBase实例并重新启动VM 时,它显示完美(因为从MemStore开始,HBase将数据推送到HBase表中)。
      虽然,我的WAL被启用,但为什么它无法恢复。我的理解有什么不对吗?    WAL文件将存储在哪里?我在我的本地文件系统而不是HDFS上使用HBase ....我在哪里可以检查WAL文件?

2 个答案:

答案 0 :(得分:0)

试试这个:

将数据放入表格后。 从hbase shell运行“flush tablename”。 然后检查

答案 1 :(得分:0)

WAL文件存储在.logs文件夹中(隐藏)。在Stand alone模式下,写入WAL需要时间,在Pseudo Distributed模式下,它可以正常工作