在向Hbase中写数据的时候,我们操作Client发出写入请求时,Client会和zookeeper进行交互拿到要put的数据表,最终的目的region在那个regionserver中,找到之后,和regionserver交互,建立通道,同时准备一份备份在缓存中,而在正式写数据的时候,数据会先写到预写日志WAL中,之后regionserver会立即返回写入成功的消息,而数据在regionserver中的WAL保留,由memstore对数据做字典排序,最后写入storefile
写的时候server本身会在内存中保留一份数据,防止写入预写日志失败,这也就是为什么搭建Hbase时,往往会为它留有大量的内存资源