我想觀察實際如何恢復的工作原理在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 name10時沒有出現。其中如,當我正確停止 HBase的實例和重啓VM,這是完全示出了(由於從那種MEMSTORE HBase的推入數據HBase的表)。
雖然我的WAL啓用了它無法恢復的原因。我的理解有錯嗎?
凡將在WAL文件存儲?我現在用的HBase在我的本地文件系統,而不是HDFS的頂部....我在哪裏可以檢查WAL文件?
thanx的答覆......「刷新表名」工作正常......因爲,「刷新表名」類似於正確關閉HBase ...我想檢查從WAL恢復,如果我們不會正確地刷新或停止HBase ...你有一個想法,日誌文件將存儲在本地文件系統,以及如何閱讀他們? – Rohit 2013-03-19 07:03:32
我希望它存儲在hbase.rootdir/.logs目錄中。 hbase.rootdir是你在hbase-site.xml中配置的目錄 – 2013-03-19 07:49:41
我明白了,如何閱讀它們? – Rohit 2013-03-19 08:54:29