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);
上記のコードを実行した後、 (HBaseを停止せずに) VMを再起動し、HBaseを起動しましたが、このテーブルをスキャンしたときに、Rowkeyname10が表示されませんでした。一方、HBaseインスタンスを適切に停止してVMを再起動すると、完全に表示されます(MemStoreからHBaseがデータをHBaseテーブルにプッシュしたため)。
しかし、私のWALは、なぜ回復できないのか有効になっています。私の理解に何か問題はありますか?
WALファイルはどこに保存されますか?HDFSの代わりにローカルファイルシステム上でHBaseを使用しています.... WALファイルはどこで確認できますか?