【问题标题】:AWS EMR cluster terminates while master is downAWS EMR 集群在主服务器关闭时终止
【发布时间】:2017-06-02 14:09:30
【问题描述】:

目前,当 EMR 集群主节点停止时(关闭行为:停止而不是终止),我们会丢失集群,因为 EMR 的架构考虑到一旦主节点关闭,集群就会终止。我们身处一个硬件故障非常普遍的世界,未来某个时候 EMR master 可能会发生故障,那么我们如何恢复存储在 EMR 集群上的数据呢?

同样,如果核心节点关闭并尝试硬重启(停止和启动);终止核心节点并且提供的核心节点出现以满足所需的核心容量,并且我们从终止的核心节点丢失所有数据(HDD)(数据损坏)。

是否有任何解决方案可以防止这些类型的终止?

【问题讨论】:

    标签: amazon-web-services amazon-emr elastic-map-reduce master


    【解决方案1】:

    这些情况不太可能发生,因为 AWS 已将 Hadoop 配置为跨多个实例复制拆分数据。

    来自 Amazon EMR 的 FAQs

    问:Amazon EMR 的可靠性如何?

    Amazon EMR 使用 Amazon 高度可用且经过验证的网络基础设施和数据中心来管理 Amazon EC2 计算实例集群。 Amazon EMR 使用经过行业验证的容错 Hadoop 软件作为其数据处理引擎。 Hadoop 将数据拆分为多个子集,并将每个子集分配给多个 Amazon EC2 实例。因此,如果一个 Amazon EC2 实例无法处理一个数据子集,则可以使用另一个 Amazon EC2 实例的结果。

    【讨论】:

    • 感谢您的回复,但我已经通过多种方式对其进行了测试,只要我们停止 EMR 中的主节点,它就会终止集群。必须重新审视此类设计,以便为客户提供高效的架构。
    • 是的,当主节点停止时,集群会终止,这很明显,因为它是 master 节点。我只是说由于按需 EC2 实例上的硬件故障而发生这种情况的可能性很小。当然,如果您手动停止主节点,整个集群将终止。核心节点并非如此,它可以在不影响集群的情况下发生故障。
    • 这就是我的问题,为什么 AWS 设计 EMR 是这样一种方式,如果我们停止主节点,那么它将终止集群?以及为什么停止核心节点会终止实例。可能存在我想硬重启实例但无法在 EMR 上进行的情况。
    • 我第二个@AbhishekSakhuja 的问题。主节点(EC 2 实例)进入无响应状态。重新启动没有帮助。当我尝试停止实例时,考虑到我将能够重新启动实例,它自行终止并且集群现在处于“WaitingThe主节点已被用户终止”状态。我无法更改主节点实例并且集群永远丢失。这在生产环境中可能是一个严重的问题。
    【解决方案2】:

    从 EMR 5.23.0 版本开始,您现在可以启动具有三个主节点的 EMR 集群并支持高可用性。 EMR announces Support for Multiple Master nodes

    【讨论】:

      猜你喜欢
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多