2013-03-26 231 views
0

任何人都可以告诉我Hbase中恢复的工作原理吗?在Hbase中使用WAL进行恢复

我发现了WAL文件,其中HBASE的每个操作都需要登录(/hbase/.logs/)。但不幸的是,该文件是空的。我执行的任何操作都没有记录到WAL文件中。可能是什么原因?我需要设置任何配置变量吗?我如何启用它以便HBase上的所有操作都定期登录?

默认情况下,启用写入WAL(put.getWriteAheadLog()返回true值)。 我正在使用“独立模式”进行HBASE设置。

+0

我没有特别使用Hbase,但WAL通常只包含数据,直到将其写入数据存储区为止。 HBASE可能会很快完成,所以你很想念它。也许它正在跳过沃尔玛,因为它处于如此轻的负载下。如果你能够查询你的数据,它真的很重要吗? – stonemetal 2013-03-26 17:05:30

+0

启用对WAL文件的写入。 (put.getWriteAheadLog()返回一个真正的值) – N2M 2013-03-26 17:05:45

+0

Thankyou的快速回复。但那正是我想知道的。如果我的系统意外崩溃,我希望WAL回写我以前的数据......这不会发生,但.. ..! (基本上bcoz没有保存在WAL ..我猜!) – N2M 2013-03-26 17:09:21

回答

0

您需要启用WAL,然后只有日志信息将写入WAL。 在你的情况下,它没有启用。请启用它,然后重试。

问候, Sudhakar雷迪

+0

雷迪库拉库尔:谢谢你的答复。 WAL默认启用。我在上面的评论中提到过。我使用“put.getWriteAheadLog()”进行了检查。它返回一个真实值。还有什么我需要做的吗? – N2M 2013-03-27 05:47:58

+0

我刚刚发现,这些条目在很长一段时间后都会登录到WAL中。这个时间在哪里受到控制?应该立即将条目登录到文件中,不是吗?这是沃尔玛权利的重点?那么,我的情况并没有发生。 – N2M 2013-03-27 09:12:16

0

我终于能够解决伪分布式模式的问题。一旦将数据写入HBase表,它立即立即登录。但是,此行为在独立模式下不可见。我无法弄清控制时间的参数。