HBase的写入路径
我想了解HBase的写入路径,到目前为止,我得到了一些非常好的文章:HBase的写入路径,hbase,Hbase,我想了解HBase的写入路径,到目前为止,我得到了一些非常好的文章: http://blog.cloudera.com/blog/2012/06/hbase-write-path/ https://sematext.com/blog/2012/07/16/hbase-memstore-what-you-should-know/ 然而,有一个问题仍然没有答案(至少对我来说是如此!)。 根据我的理解,write直接进入区域服务器(RS),然后它被写入WAL和Memstore并最终写入HFile。由
http://blog.cloudera.com/blog/2012/06/hbase-write-path/
https://sematext.com/blog/2012/07/16/hbase-memstore-what-you-should-know/
然而,有一个问题仍然没有答案(至少对我来说是如此!)。
根据我的理解,write直接进入
区域服务器(RS)
,然后它被写入WAL
和Memstore
并最终写入HFile
。由于WAL
和HFile
在HFDS上,这是否意味着RS首先将数据发送到namenode
,然后将其复制到其他两个RS。如果我的理解正确,是否意味着如果namenode关闭,所有对WAL的写入都将失败?作为hbase主机的namenode只是一个协调器。数据传输直接传输到数据节点。如果复制系数为3,是否意味着写入请求将并行传输到三个区域服务器?如果是这样,如果客户端缓存了区域服务器位置,namenode如何知道新数据的额外副本保存在何处?复制因素用于hdfs复制,而不是hbase。HBase始终只有一个区域服务器为特定区域写入数据。发生的情况是hbase区域服务器要求namenode创建一个文件。namenode将为您返回3个要写入的datanode位置。hbase region server会将数据写入3个DataNodesHanks,这使我的方向正确