3 ms·
HBase never needed nor used append. "Append" refers to the ability to reopen an existing file from a new client and append data to it. HBase writes only immutab
by linuxhansl 13y ago
HBase never needed nor used append. "Append" refers to the ability to reopen an existing file from a new client and append data to it.
HBase writes only immutable files, which means they are written once then only read. Even the WAL is no exception; it is written once, and then only opened for read when needed for recovery or replication.
HBase needs hflush to make sure that the WAL edits are resident at at least 3 (default) HDFS data node machines.
Not sure how exactly grand parent lost data. Each edit is first written to the WAL then committed to the in memory store. The in memory store is flushed to disk into a new file at a certain size.
If a server crashes and had unflushed data in the memory store that part of the data is replayed from the WAL on another server.
See also here: http://hadoop-hbase.blogspot.com/2012/05/hbase-hdfs-and-durable-sync.html http://hadoop-hbase.blogspot.com/2012/05/hbase-hdfs-and-dura...