【问题标题】:How to combine and test google dataproc --initialization-actions如何组合和测试 google dataproc --initialization-actions
【发布时间】:2018-05-03 08:27:16
【问题描述】:

调试很慢。不清楚是否接受多个参数。文档字符串错误/不标准。

例如我们可以这样做:

--initialization-actions a b c

当它失败时,如何在几秒钟而不是几分钟内调试......即作为脚本没有完整的创建步骤?

【问题讨论】:

    标签: google-cloud-dataproc


    【解决方案1】:

    您可以使用comma-separated list 指定多个Initialization actions

    gcloud dataproc clusters create ...\
        --initialization-actions=<init_action_1>,<init_action_2>,...,<init_action_n>
    

    如果任何初始化操作失败,则 Dataproc 将返回带有初始化操作日志路径的错误,您可以使用该日志来调试失败。

    如果您正在编写自己的初始化操作,您可以按照best practices 并在初始化操作的the beginning 处添加set -euxo pipefail 语句,以使其快速失败并在执行期间打印更多信息,这将在失败时简化调试.

    【讨论】:

      【解决方案2】:

      为了将调试时间缩短到几秒钟,我建议创建一个 vanilla 集群,并通过sudo 下的 SSH 在主节点上将您的 init 操作作为常规脚本运行。

      例如:

      gcloud compute ssh my-cluster-m
      gsutil cp gs://bucket/path-to-init-action.sh .
      sudo init-action.sh
      

      当您进行迭代时,您可能必须为已安装的组件添加标志以确保不会失败。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-21
        • 2021-03-20
        相关资源
        最近更新 更多