hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cristofer Weber <cristofer.we...@neogrid.com>
Subject RES: HBase Fault tolerance
Date Fri, 13 Jul 2012 13:32:56 GMT
Hi Sever

Coprocessors are still new for me, so I don't have a good answer for your second question.

But for your first, (as far as I understand)  remember that you can send Puts/Deletes in any
order, and Memstore is responsible for keeping your data sorted before flushing to a StoreFile,
and keep in mind that StoreFiles are splitted by RowKey range, partitioned by ColumnFamily,
sorted by RowKey, immutable and subjected to compactions and splits. It is not that easy to
manage all this constraints fast enough to keep a low latency for random write operations.

Also, HLog is append able, so it's ok to just append some grains of data at its end as these
data reaches the RS. 


-----Mensagem original-----
De: Sever Fundatureanu [mailto:fundatureanu.sever@gmail.com] 
Enviada em: sexta-feira, 13 de julho de 2012 07:42
Para: user@hbase.apache.org
Assunto: HBase Fault tolerance


I would like to understand more in-depth how fault tolerance is handled in

1. So for each put operation an RS first writes to an HLog file and then to the Memstore.
If the RS crashes the HLog file is replayed by other servers, correct?
My question is how is this HLog file different from a StoreFile? Why is it faster to write
to an HLog file and not write directly to a StoreFile?

2. How is fault tolerance handled for an RS with a coprocessor loaded? Will other servers
load that coprocessor if the original RS crashes? If yes, will the HLog be replayed with the
coprocessor already loaded?

Thanks in advance for the responses.
Sever Fundatureanu

Vrije Universiteit Amsterdam
E-mail: fundatureanu.sever@gmail.com

View raw message