我一直在尝试使用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)中运行它。
如果您需要任何额外信息,请告诉我。
答案 0 :(得分:0)
如果您确认可以正常连接到群集,那么如果您刚刚收到bind: Cannot assign requested address
错误,则可能意味着您当前计算机上已经有另一个本地端口转发的SSH会话端口10000
已经存在。如果您看到bind
错误,则应始终先尝试使用其他本地端口,例如-D 12345
。您可以使用top
或任务管理器检查是否在某处仍在运行并占用端口10000的挂起ssh -D
命令。