hbase中恢复的工作原理

zengzsys  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(422)

我想实际观察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 name10没有出现。其中,当我正确地停止hbase示例并重新启动vm时,它显示得非常完美(因为hbase从memstore将数据推送到hbase表中)。
虽然,我的wal被启用了,为什么它不能恢复。我的理解有错吗?
wal文件将存储在哪里?我在本地文件系统上使用hbase而不是hdfs…我可以在哪里检查wal文件?

fcipmucu

fcipmucu1#

试试这个:
把数据放到表中之后。从hbase shell运行“flush tablename”。然后检查

h6my8fg2

h6my8fg22#

wal文件存储在.logs文件夹中(隐藏)。在独立模式下,写入wal需要时间,而在伪分布式模式下,它可以正常工作

相关问题