Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HBase的写入路径_Hbase - Fatal编程技术网

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。由

我想了解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
。由于
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,这使我的方向正确