本記事について
JupyterからNotebookを開き、PySparkカーネルをスタートさせてもカーネルが起動しない時の対処方法について記載します。
症状
Notebookを開いてPySparkカーネルをスタートしても起動中のマークが出たまま止まる。
原因
PySparkカーネルを立ち上げると、新たにSparkアプリケーションが作成されます。
設定にもよりますが、Sparkアプリケーションは1度に1つしか実行できません。
なので、既に他のNotebookを開いてPySparkカーネルが起動していると、そのPySparkカーネルのSparkアプリケーションが実行中なため、後から開いたNotebookがPySparkカーネルをスタートさせてもSparkアプリケーションは止まったままで、PySparkを立ち上げることができなくなってしまいます。
また、Notebookを開く度に新しくSparkアプリケーションが作成され、そのNotebookを閉じても、それに紐付いていたSparkアプリケーションは削除されず残り続けるため、Notebookを開いたり閉じたりしていると、Sparkアプリケーションが溜まっていってしまいます。
対処方法
一旦全てのSparkアプリケーションを削除してから、再度Notebookを立ち上げ直します。
- 開いている全てのNotebookを閉じる
- Jupyterの「Running」タブで、全てのNotebookを「Shutdown」する
-
http://localhost:8088/
で「YARN UI」を開く - [Applications]でSparkアプリケーション一覧を表示し、削除するSparkアプリケーションの「Tracking UI」を選択
(下記図では3つのPySprakカーネルのSparkアプリケーションがWait状態で残っていますのでこれらを削除します)
- Sparkアプリケーションの詳細ページの左上の「Kill Application」をクリックてSparkアプリケーションを削除する
- PySparkカーネルを立ち上げたいNotebookを開いてPySparkカーネルをスタートさせる