【发布时间】:2020-09-04 10:58:57
【问题描述】:
我可以通过 ssh 连接到 Google Cloud 计算引擎虚拟机,但无法通过 ssh 连接到 Google Cloud Dataproc 集群的主节点。
具体来说,
gcloud compute ssh my-vm
工作得很好,而
gcloud compute ssh mycluster-m
失败并显示错误消息:
admin@IP.ADDRESS: Permission denied (publickey).
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
计算引擎虚拟机和 Dataproc 集群在同一个项目中。我从错误消息中了解到它与 ssh 密钥有关,但我不确定如何修复它 - 我通过云控制台检查了项目中的 ssh 密钥,它是正确的,并尝试了通常的gcloud auth login重置 gcloud 项目登录详细信息。
关于如何解决这个问题的任何提示?
编辑:我正在尝试从我的机器而不是云控制台进行 ssh - 这是一个好点,我会尝试一下,看看是否可行。但最后我想用它从我的本地计算机连接到 Jupyter 笔记本,所以这并不能解决无法从我的机器 SSH 到 VM 的问题。
关于创建 Dataproc 集群的命令,我使用来自 hail dataproc python 库的工具,但这些基本上只是 gcloud 计算命令的便利外壳,而这就是失败的原因。但我用来创建 Dataproc 集群的命令是:
gcloud beta dataproc clusters create \
test \
--image-version=1.4-debian9 \
--properties=^|||^spark:spark.task.maxFailures=20|||spark:spark.driver.extraJavaOptions=-Xss4M|||spark:spark.executor.extraJavaOptions=-Xss4M|||spark:spark.speculation=true|||hdfs:dfs.replication=1|||dataproc:dataproc.logging.stackdriver.enable=false|||dataproc:dataproc.monitoring.stackdriver.enable=false|||spark:spark.driver.memory=41g \
--initialization-actions=gs://hail-common/hailctl/dataproc/0.2.53/init_notebook.py \
--metadata=^|||^WHEEL=gs://hail-common/hailctl/dataproc/0.2.53/hail-0.2.53-py3-none-any.whl|||PKGS=aiohttp>=3.6,<3.7|aiohttp_session>=2.7,<2.8|asyncinit>=0.2.4,<0.3|bokeh>1.1,<1.3|decorator<5|dill>=0.3.1.1,<0.4|gcsfs==0.2.1|humanize==1.0.0|hurry.filesize==0.9|nest_asyncio|numpy<2|pandas>0.24,<0.26|parsimonious<0.9|PyJWT|python-json-logger==0.1.11|requests>=2.21.0,<2.21.1|scipy>1.2,<1.4|tabulate==0.8.3|tqdm==4.42.1|google-cloud-storage==1.25.* \
--master-machine-type=n1-highmem-8 \
--master-boot-disk-size=100GB \
--num-master-local-ssds=0 \
--num-preemptible-workers=0 \
--num-worker-local-ssds=0 \
--num-workers=2 \
--preemptible-worker-boot-disk-size=40GB \
--worker-boot-disk-size=40GB \
--worker-machine-type=n1-standard-8 \
--initialization-action-timeout=20m \
--labels=creator=my_name \
--max-idle=10m
【问题讨论】:
-
这看起来不像programming question。
-
抱歉,我在 Stack Overflow 上找到了关于通过 ssh 连接到 Google Cloud 计算引擎的其他答案(例如*.com/questions/42167596/…),如果有更合适的地方可以告诉我
-
您可以分享一个用于创建 Dataproc 集群的命令吗?您是否指定了任何自定义服务帐号?
-
当您尝试从您的机器或云控制台进行 ssh 时是否会出现此问题?
标签: ssh google-cloud-platform google-compute-engine gcloud google-cloud-dataproc