无法在群集中使用SSH Dataproc Master

时间:2017-08-14 12:21:14

标签: ssh google-cloud-platform jupyter-notebook gcloud google-cloud-dataproc

我一直在尝试使用jupyter repository初始化脚本在Dataproc中创建群集。

但是当我尝试ssh到master时,为了能够访问运行此命令的Jupyter接口:

gcloud compute ssh --zone=zone_name \
                   --ssh-flag="-D 10000" \
                   --ssh-flag="-N" \
                   --ssh-flag="-n" "cluster1-m" &

我收到错误:

  

权限被拒绝(publickey)。错误:(gcloud.compute.ssh)   [/ usr / bin / ssh]退出并返回代码[255]。

我可以确认所有ssh密钥都是正常创建的。那时我尝试了另一种选择:

gcloud compute ssh --zone=zone_name \
                   --ssh-flag="-D 10000" \
                   --ssh-flag="-N" \
                   --ssh-flag="-n" "will@cluster1-m" &

这似乎可以工作,因为我可以ssh到实例,但现在我得到错误:

  

bind:无法分配请求的地址   channel_setup_fwd_listener_tcpip:无法侦听端口:10000可以   不要求本地转发。

用于创建我使用的集群:

gcloud dataproc clusters create $CLUSTER_NAME \
--metadata "JUPYTER_PORT=8124,JUPYTER_CONDA_PACKAGES=numpy:pandas:scikit-learn:jinja2:mock:pytest:pytest-cov" \
--initialization-actions \
    gs://dataproc-initialization-actions/jupyter/jupyter.sh \
--bucket $BUCKET_NAME

我在码头图片Debian 8.9(jessie)中运行它。

如果您需要任何额外信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果您确认可以正常连接到群集,那么如果您刚刚收到bind: Cannot assign requested address错误,则可能意味着您当前计算机上已经有另一个本地端口转发的SSH会话端口10000已经存在。如果您看到bind错误,则应始终先尝试使用其他本地端口,例如-D 12345。您可以使用top或任务管理器检查是否在某处仍在运行并占用端口10000的挂起ssh -D命令。