Google Dataproc初始化脚本错误找不到文件

时间:2016-08-12 18:54:34

标签: shell google-cloud-dataproc

我正在使用Google Dataproc初始化Jupyter群集。 起初我使用了" dataproc-initialization-actions"可以在github中使用,它就像一个魅力。

这是文档中提供的创建集群调用:

gcloud dataproc clusters create my-dataproc-cluster \
    --metadata "JUPYTER_PORT=8124" \
    --initialization-actions \
        gs://dataproc-initialization-actions/jupyter/jupyter.sh \
    --bucket my-dataproc-bucket \
    --num-workers 2 \
    --properties spark:spark.executorEnv.PYTHONHASHSEED=0,spark:spark.yarn.am.memory=1024m \
    --worker-machine-type=n1-standard-4 \
    --master-machine-type=n1-standard-4

但是我想自定义它,所以我得到了初始化文件并将其保存到我的Google存储中(这是我尝试创建群集的同一项目)。所以,我将调用更改为指向我的脚本,如下所示:

gcloud dataproc clusters create my-dataproc-cluster \
    --metadata "JUPYTER_PORT=8124" \
    --initialization-actions \
        gs://myjupyterbucketname/jupyter.sh \
    --bucket my-dataproc-bucket \
    --num-workers 2 \
    --properties spark:spark.executorEnv.PYTHONHASHSEED=0,spark:spark.yarn.am.memory=1024m \
    --worker-machine-type=n1-standard-4 \
    --master-machine-type=n1-standard-4

但是运行这个我得到了以下错误:

Waiting on operation [projects/myprojectname/regions/global/operations/cf20
466c-ccb1-4c0c-aae6-fac0b99c9a35].
Waiting for cluster creation operation...done.
ERROR: (gcloud.dataproc.clusters.create) Operation [projects/myprojectname/
regions/global/operations/cf20466c-ccb1-4c0c-aae6-fac0b99c9a35] failed: Multiple
 Errors:
 - Google Cloud Dataproc Agent reports failure. If logs are available, they can
be found in 'gs://myjupyterbucketname/google-cloud-dataproc-metainfo/231e5160-75f3-
487c-9cc3-06a5918b77f5/my-dataproc-cluster-m'.
 - Google Cloud Dataproc Agent reports failure. If logs are available, they can
be found in 'gs://myjupyterbucketname/google-cloud-dataproc-metainfo/231e5160-75f3-
487c-9cc3-06a5918b77f5/my-dataproc-cluster-w-1'..

那里的文件,所以我认为它可能不是一些访问权限问题。文件名为" dataproc-initialization-script-0_output"具有以下内容:

/usr/bin/env: bash: No such file or directory

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

好吧,找到了我的答案here

结果是脚本有窗口行结尾而不是unix行结尾。

使用dos2unix进行在线转换,现在运行正常。

@tix的帮助下,我可以使用与群集的SSH连接检查文件是否可以访问(成功"gsutil cat gs://myjupyterbucketname/jupyter.sh"

AND,初始化文件已在本地正确保存在目录"/etc/google-dataproc/startup-scripts/dataproc-initialization-script-0"