gpt4 book ai didi

hadoop - HBase:复制是如何工作的?

转载 作者:可可西里 更新时间:2023-11-01 14:08:50 25 4
gpt4 key购买 nike

我目前正在将 HBase 作为数据存储进行评估,但有一个问题没有得到解答:HBase 在多个节点上存储同一对象的多个副本(也称为复制)。由于 HBase 具有所谓的强一致性(与最终一致性相反),它保证每个副本在读取时返回相同的值。

根据我对 HBase 概念的理解,在读取值时,首先会向 HBase 主服务器查询提供数据的(必须有多个)RegionServer。然后我可以在没有主人发明的情况下发出读写请求。那么复制如何工作?

  • HBase 如何提供一致性?
  • 写操作在内部是如何工作的?
  • 写操作阻塞,直到所有副本都被写入(=> 同步复制)。如果是,谁管理此传输?
  • HDFS 如何进入游戏?

我已经阅读了BigTable-Paper 并搜索了文档,但我没有找到有关 HBase 架构的更多信息。

谢谢!

最佳答案

hbase 不会按照您的想法进行任何复制。它建立在 HDFS 之上,HDFS 为构成 hbase 表的数据 block 提供复制。但是,只有一个区域服务器曾经为任何给定行提供或写入数据。

通常区域服务器与数据节点位于同一位置。 HDFS 中的所有数据写入首先进入本地节点,如果可能,同一机架上的另一个节点,以及不同机架上的另一个节点(HDFS 中的复制因子为 3)。因此,区域服务器最终将以本地服务器提供的所有数据结束。

至于阻塞:唯一的阻塞是直到 WAL(预写日志)刷新到磁盘。这保证不会丢失任何数据,因为日志始终可以重播。请注意,旧版本的 hbase 没有解决这个问题,因为 HDFS 直到最近才支持持久附加操作。我们目前处于一种奇怪的状态,因为没有同时支持附加和 HBase 的 Hadoop 官方 Apache 版本。同时,您可以自己应用附加补丁,也可以使用 Cloudera 发行版(推荐)。

HBase 确实具有相关的复制功能,可让您将数据从一个集群复制到另一个集群。

关于hadoop - HBase:复制是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5417574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com