我一直試圖在Dataproc中使用初始化腳本jupyter repository來創建羣集。無法在羣集中使用SSH Dataproc主機
但是當我嘗試ssh到主這樣一來就能訪問Jupyter界面運行此命令:
gcloud compute ssh --zone=zone_name --ssh-flag="-D 10000" --ssh-flag="-N" --ssh-flag="-n" "cluster1-m" &
我得到的錯誤:
Permission denied (publickey). ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
我可以確認所有ssh密鑰正常創建。我想這另一種選擇則:
gcloud compute ssh --zone=zone_name --ssh-flag="-D 10000" --ssh-flag="-N" --ssh-flag="-n" "[email protected]" &
這似乎是工作,我可以使用SSH連接實例,但現在我得到的錯誤:
bind: Cannot assign requested address channel_setup_fwd_listener_tcpip: cannot listen to port: 10000 Could not request local forwarding.
要創建我使用的集羣:
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
我在Docker鏡像中運行這個Debian 8.9(jessie)。
如果您需要任何額外的信息,請讓我知道。
嗨丹尼斯,感謝您的幫助。我也嘗試了不同的端口,並檢查了可能仍在後臺運行的其他進程,但沒有。在發佈這個問題之後我測試的是在docker之外,在我自己的機器上安裝所有東西,然後一切正常。我仍然不太明白Docker鏡像中會發生什麼,它會中斷ssh(因爲我可以使用'will @ hostname'成功ssh我在想root用戶是否與它有關,但我不確定,只是猜測) –
啊,這是有道理的;你可能只需要一些Docker容器的端口映射標誌:https://stackoverflow.com/questions/32070789/portforwarding-from-within-docker-container和https://bobcares.com/blog/docker-port-expose / –