如何保持 Google Dataproc master 运行?

2024-01-12

我在 Dataproc 上创建了一个集群,效果很好。但是,当集群空闲一段时间(约90分钟)后,主节点将自动停止。我创建的每个集群都会发生这种情况。我看到这里有一个类似的问题:继续运行 Dataproc 主节点 https://stackoverflow.com/questions/53197428/keep-running-dataproc-master-node#comment97832364_53197428

看来是初始化动作的问题。然而,这篇文章没有给我足够的信息来解决这个问题。以下是我用来创建集群的命令:

gcloud dataproc clusters create $CLUSTER_NAME \
    --project $PROJECT \
    --bucket $BUCKET \
    --region $REGION \
    --zone $ZONE \
    --master-machine-type $MASTER_MACHINE_TYPE \
    --master-boot-disk-size $MASTER_DISK_SIZE \
    --worker-boot-disk-size $WORKER_DISK_SIZE \
    --num-workers=$NUM_WORKERS \
    --initialization-actions gs://dataproc-initialization-actions/connectors/connectors.sh,gs://dataproc-initialization-actions/datalab/datalab.sh \
    --metadata gcs-connector-version=$GCS_CONNECTOR_VERSION \
    --metadata bigquery-connector-version=$BQ_CONNECTOR_VERSION \
    --scopes cloud-platform \
    --metadata JUPYTER_CONDA_PACKAGES=numpy:scipy:pandas:scikit-learn \
    --optional-components=ANACONDA,JUPYTER \
    --image-version=1.3

我的集群需要 BigQuery 连接器、GCS 连接器、Jupyter 和 DataLab。

如何保持主节点运行?谢谢。


正如评论中总结的那样,这确实是由 Datalab 造成的自动关闭功能 https://cloud.google.com/datalab/docs/concepts/auto-shutdown。有几种方法可以改变这种行为:

  1. 首次创建启用 Datalab 的 Dataproc 集群后,登录 Datalab 并单击“空闲超时大约...”文本将其禁用:https://cloud.google.com/datalab/docs/concepts/auto-shutdown#disabling_the_auto_shutdown_timer https://cloud.google.com/datalab/docs/concepts/auto-shutdown#disabling_the_auto_shutdown_timer- 文本将更改为“空闲超时已禁用”
  2. 编辑初始化操作以按照 yelsayed 的建议设置环境变量:

    function run_datalab(){
      if docker run -d --restart always --net=host -e "DATALAB_DISABLE_IDLE_TIMEOUT_PROCESS=true" \
          -v "${DATALAB_DIR}:/content/datalab" ${VOLUME_FLAGS} datalab-pyspark; then
        echo 'Cloud Datalab Jupyter server successfully deployed.'
      else
        err 'Failed to run Cloud Datalab'
      fi
    }
    

并使用您的自定义初始化操作而不是库存 gs://dataproc-initialization-actions 操作。也可能值得在 github 存储库中针对 dataproc 初始化操作提交一个跟踪问题,建议默认禁用超时或提供一个简单的基于元数据的选项。在 Dataproc 集群上的默认使用情况下,自动关闭行为可能并不符合预期,因为主服务器还执行除运行 Datalab 服务之外的角色。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何保持 Google Dataproc master 运行? 的相关文章

随机推荐