【问题标题】:Are the nodes in H20 Sparkling preemptible?H20 Sparkling 中的节点是否可抢占?
【发布时间】:2017-11-09 20:16:02
【问题描述】:

我正在运行 Sparkling waterover 36 个 Spark 执行器。 由于 Yarn 的调度,一些 executor 会先发制人,稍后再回来。 总体而言,大部分时间有 36 个执行者,但并非总是如此。

到目前为止,我的经验是,一旦 1 个执行器 失败,整个 H2o 实例就会停止,即使丢失的执行器稍后会恢复运行。 我想知道Sparkling-waterbehaves 是不是这样?还是需要开启一些抢占能力?

有人知道这个吗?

【问题讨论】:

    标签: h2o sparkling-water


    【解决方案1】:

    [摘要]

    您所看到的是苏打水的行为方式。


    [详情...]

    YARN 上的苏打水可以通过两种不同的方式运行:

    • 默认方式,H2O 节点嵌入在 Spark 执行器中,并且有一个(Spark)YARN 作业,

    • 外部H2O集群方式,其中Spark集群和H2O集群是独立的YARN作业(在这种模式下运行需要更多设置;如果你用这种方式运行,你会知道的)

    H2O 节点不支持弹性云形成行为。也就是说,一旦 H2O 集群形成,新节点可能不会加入集群(它们被拒绝),现有节点可能不会离开集群(集群变得不可用)。

    因此,必须为运行 H2O 节点的队列禁用 YARN 抢占。默认情况下,这意味着整个 Spark 作业必须在禁用 YARN 抢占(并且 Spark dynamicAllocation 禁用)的情况下运行。对于外部 H2O 集群方式,这意味着 H2O 集群必须运行在一个 YARN 队列中,并且禁止抢占。

    其他可能有帮助的信息:

    • 如果您刚开始使用苏打水(或一般的 H2O)解决新问题,请选择少量大型内存节点而不是大量小型内存节点;这样会更少出错,

    • 1234563从 4 个执行器 x 10 GB 开始,
    • 一般来说,您根本不想使用小于 5 GB 的执行程序启动 Sparkling Water,内存越大越好,

    • 如果以默认方式运行,不要将执行器核心数设置得太小;机器学习需要大量 CPU。

    【讨论】:

    • 感谢您快速详细的回答!
    猜你喜欢
    • 2018-06-24
    • 1970-01-01
    • 2016-03-15
    • 2017-09-28
    • 2020-03-03
    • 2012-08-21
    • 2010-10-23
    • 2018-09-16
    • 2015-12-30
    相关资源
    最近更新 更多