【问题标题】:Impact of reducing HDFS replication factor to 2 (or just one) on HBase map/reduce performance将 HDFS 复制因子降低到 2(或仅 1)对 HBase map/reduce 性能的影响
【发布时间】:2019-02-10 15:49:32
【问题描述】:

将 HDFS 复制因子降低到 2(或仅 1)对 HBase map/reduce 性能有什么影响?我有一个托管在 Azure VM 上的 HBase 集群,数据存储在 Azure 托管磁盘中。 Azure 托管磁盘本身保留 3 个数据副本以实现容错,因此考虑降低 HDFS 复制因子以节省存储开销。鉴于 map reduce 作业利用数据的本地可用性来避免数据通过网络传输,想知道是否有人知道只有一个数据副本可用时对 map reduce 性能的影响的任何信息?

【问题讨论】:

    标签: hadoop mapreduce hdfs hbase phoenix


    【解决方案1】:

    这是一个很难回答的问题,因为它很大程度上取决于您运行的工作负载。

    通过降低复制因子,您可以加快写入操作的性能,因为数据被写入更少的 DataNode。但是,正如您所指出的,您可能已经减少了局部性,因为可能更难找到具有副本且有可用空间来执行任务的节点。

    仅保留单个副本会对单个节点故障的影响产生重大影响。如果单个节点死亡,其所有数据将不可用,直到您重新启动具有相同 Azure 托管磁盘的新节点。如果有多个 HDFS 副本,则始终保持数据可用性。

    在 Azure 托管磁盘上运行 HDFS DataNodes 听起来有点糟糕。除了打破一些核心 HDFS 假设(“我的磁盘可能随时出现故障”)之外,如果您的数据存储在三个副本中,您似乎不太可能拥有真正的数据局部性。不知道您是否考虑过:

    • 使用非托管磁盘服务。 Azure 是否提供了一种使用未复制磁盘的方法?这更接近 HDFS 的预期用途。
      • 将数据存储在 Azure 存储(WASB 或 ADLS)而不是 HDFS。这是更“云原生”的运行方式。如果发现性能不足,可以将 HDFS 用于中间数据,仅将最终数据存储在 Azure 中。 HDFS 还提供了一种使用Provided Storage 缓存来自外部存储系统的数据的方法。

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 1970-01-01
      • 2015-01-20
      • 2013-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多