2017-11-09 7 views
0

JupyterHub + DockerSpawner + all-spark-notebookを1台のマシンにセットアップし、既存のスパーククラスターを使用しています。Jupyterhub + DockerSpawner +すべてのスパークノートを既存のスパーククラスターで使用する

私はログインしてサーバーを起動できますが、ノートブック(Toree)を既存のスパーククラスターに訪問させる方法はありますか?

私はグーグルで誰かが火花ノートブックドッカーの画像を拡張し、Toreeを再インストールしたことを知りました。

https://github.com/jupyter/docker-stacks/wiki/Docker-Recipes#use-jupyterall-spark-notebooks-with-an-existing-sparkyarn-cluster

目標を達成するための任意のより簡単な方法がありますか? DockerSpawnerがToreeカーネルに転送できる引数を受け入れることはできますか?

答えて

0

私は同じ問題に直面していました。 私のjupyterhubをリモートスパーククラスタに接続しました。

ここに手順があります - 1.私の場合、ドッカーでall-spark-notebookにログインします。 2.あなたはそこ 3.のconf/spark-env.shを変更し、クラスタマスター

アップデートを指すように-defaults.confにを刺激する必要がありますは/ usr/local /スパークにインストール火花を見つけるだろう

c.DockerSpawner.extra_host_config = { 'network_mode': 'host' } 

c.DockerSpawner.use_internal_ip = True 

c.DockerSpawner.network_name = 'host' 

複数のコンテナをなど、すべての「することができますを開始しようとすると、この問題が発生します - それは、ネットワークにホストモードで接続する必要がありますスパークに接続するドッキングウィンドウコンテナについてネットワーク

に火花接続するためのホストモードで実行します。これは設定にこれらの行を追加克服するために -

私の火花クラスタが更新されているネットワーク
+0

答え。 – Grant

+0

@Grantへカントのアクセス(jupyterhubホスト上の内部ネットワークとの)ドッキングウィンドウコンテナを意味jupyterhubホストと同じネットワークに座っ

from jupyterhub.utils import random_port from tornado import gen class custom_spawner(DockerSpawner): @gen.coroutine def get_ip_and_port(self): return self.container_ip, self.container_port @gen.coroutine def start(self, *args, **kwargs): self.container_port = random_port() spawn_cmd = "sh /srv/singleuser/singleuser.sh --port={}".format(self.container_port) self.extra_create_kwargs.update({"command": spawn_cmd}) # start the container ret = yield DockerSpawner.start(self, *args, **kwargs) return ret 
sat

関連する問題