0

初期化スクリプトとしてjupyter repositoryを使用してDataprocでクラスタを作成しようとしています。クラスタ内にSSH Dataproc Masterがありません

しかし、私はそう、このコマンドを実行しているJupyterインタフェースにアクセスできるようにするには、マスターへのSSHしよう:

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)で実行しています。

追加情報が必要な場合は、お知らせください。

答えて

0

クラスタに通常のSSHを実行できることが確認された場合は、bind: Cannot assign requested addressエラーが発生しただけで、ポート10000を使用して、現在のマシン上で既にローカルポート転送で別のSSHセッションを確立している可能性があります。 bindエラーが表示された場合は、常に最初に別のローカルポートを試してください(-D 12345など)。 topまたはタスクマネージャを使用して、ssh -Dコマンドがまだ実行中で、ポート10000を占有しているかどうかを確認できます。

+0

こんにちはデニス、おかげさまで助けてくれてありがとうございます。私も別のポートを試して、まだバックグラウンドで実行されているかもしれないいくつかの他のプロセスをチェックしましたが、何もありませんでした。私が問題を投稿した後でテストしたことは、ドッカーの外にあるものを自分のマシンにインストールして、すべて正常に動作していたことです。私はまだsockを壊すDockerイメージで何が起こっているのか分かりません( 'will @ hostname'を使ってうまくsshできるようになりました。ユーザールートには何か関係がありますが、私は確信していません) –

+0

ああ、意味があります。 Dockerコンテナのポートマッピングフラグが必要な場合があります。https://stackoverflow.com/questions/32070789/portforwarding-from-within-docker-containerおよびhttps://bobcares.com/blog/docker-port-expose / –

関連する問題