如何让Google Dataproc master保持运行?

问题描述 投票:1回答:1

我在Dataproc上创建了一个集群,效果很好。但是,在群集空闲一段时间后(约90分钟),主节点将自动停止。这发生在我创建的每个集群中。我看到这里有一个类似的问题:Keep running Dataproc Master node

看起来这是初始化操作问题。但是该帖子没有给我足够的信息来解决这个问题。以下是我用来创建集群的命令:

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。

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

google-cloud-platform google-cloud-dataproc google-cloud-datalab
1个回答
2
投票

正如评论主题中所总结的,这确实是由Datalab的auto-shutdown feature引起的。有几种方法可以改变这种行为:

  1. 在首次创建启用Datalab的Dataproc群集时,登录Datalab并单击“Idle timeout in about ...”文本以禁用它:https://cloud.google.com/datalab/docs/concepts/auto-shutdown#disabling_the_auto_shutdown_timer - 文本将更改为“Idle timeout is disabled”
  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 repo中为数据空间初始化操作提交跟踪问题,建议默认禁用超时或提供简单的基于元数据的选项。由于主服务器还执行除运行Datalab服务之外的其他角色,因此自动关闭行为可能与Dataproc集群上的默认用法不同。

© www.soinside.com 2019 - 2024. All rights reserved.