Shunya UETA

Software Engineer As Data Scientist

JupyterNotebookをリモートサーバー上で公開して、どこでも研究開発 & 講義でJupyterhubを利用する

Posted at — Dec 23, 2017

JupyterNotebookをリモートサーバー上で公開して、どこでも研究開発 & 講義でJupyterhubを利用するお話です。

image

GIF画像は下記の記事で知ったtqdmというパッケージを使いたくなった衝動の成れの果てです。

IPythonデータサイエンスクックブックをキッカケに研究室でもJupyterNotebookの凄さを皆が知り、MATLABのkernelを通して利用を始めたりしています。自分はPython2→MATLAB→MATLAB & Python3という流れで移り変わっています。

JupyterNotebookをリモートサーバー上で公開

コードは以下の通りです。特に問題なく公開することができました。

環境

下記の記事を参考にセットアップする。

今回はpyenvを使ってPython3.5.1でホストしています。

昨日この記事を読んで、Anacondaがオススメされているので今度セットアップするときに使ってみよう。

こまかい設定等は以下の記事で説明されています。IPython Notebookを対象にした記事ですが、ほとんど一緒なので問題ありません。(config.py自体がコメントで丁寧に各設定が記述されています。)

参考記事

Juptyerhub : 講義でJupyterを利用する。

JupyterNotebookを講義でも活用できるようにならないかなと先生と探していたのですが、Jupyternotebookを公開するだけだとユーザー管理が不可能です。例えば ~tarou/というディレクトリでjupyternotebookを公開すると~tarou/にnotebookが沢山できだれがどのノートを作ったのかが把握できないという問題点があります。

その問題点を解消するのがJupyterHubです。

Jupyterhubは標準のユーザー認証でPAMを利用しているので、Cent OSのユーザー名とパスワードでログインすることができます。

2016/01/29 現時点で、PAMの認証方式だと上手く認証されるときとされないときが存在しています。

PAM以外の認証方法としてはAuthで記述されているが以下の

が用意されている。大学でLADPサーバーが公開されているならそれと連携するのが一番だが、Githubなどを認証に使うのも良いんじゃないかと。

[余談]Jupyterhubの記事を探していて見つけたこの記事が面白い。UCバークレーのPh.Dの学生が教育用にどうJupyterhubを活用しているか。そして運用の段階でどのような問題がでてきたかが書かれている。海外の大学は進んでいるな~

参考記事

2016/01/29 0:52 昨日の時点では問題なくJupiterが稼働していたんですが、今は動かないので問題を解決できたらスクリーンショット載せます。

comments powered by Disqus