Jupyterのインストール

PySpark統合用に設定したのと同じノードにJupyterをインストールします。

  1. Jupyterをインストールします。
    sudo python3 -m pip install jupyter
  2. Pygmentsパッケージをアップグレードします。
    $ pip3 install --upgrade Pygments
  3. Jupyterのインストール場所を確認します。
    $ which jupyter
    /usr/local/bin/jupyter
  4. 使用可能なカーネルを確認します。
    $ /usr/local/bin/jupyter kernelspec list
    Available kernels:
      python3    /usr/local/share/jupyter/kernels/python3
  5. Jupyterパッケージのバージョンを確認します。
    $ /usr/local/bin/jupyter --version
    Selected Jupyter core packages...
    IPython          : 7.16.2
    ipykernel        : 5.5.6
    ipywidgets       : 7.6.5
    jupyter_client   : 7.1.0
    jupyter_core     : 4.9.1
    jupyter_server   : not installed
    jupyterlab       : not installed
    nbclient         : 0.5.9
    nbconvert        : 6.0.7
    nbformat         : 5.1.3
    notebook         : 6.4.6
    qtconsole        : 5.2.2
    traitlets        : 4.3.3
  6. Kerberosチケットをリクエストします。
    kinit -kt <spark-user-keytabfile> <principle>
    keyTab File Location: /etc/security/keytabs/**.keytab
    $ kinit -kt /etc/security/keytabs/spark.headless.keytab spark-trainingcl@BDACLOUDSERVICE.ORACLE.COM

    Kerberosチケットは、高可用性クラスタにのみ適用されます。HDFSやyarnなどに対するRanger権限を持つ適切なユーザーを使用して、Kerberosチケットをリクエストする必要があります。このチケットは24時間のみ有効です。

    非高可用性クラスタでは、Ranger権限およびKerberosチケットは必要ありません。

  7. ユーティリティ・ノードからJupyterを起動します。
    <jupyter-location> notebook --ip=0.0.0.0 --allow-root

    例:

    /usr/local/bin/jupyter notebook --ip=0.0.0.0 --allow-root

    出力例:

    [xxxx NotebookApp] To access the notebook, open this file in a browser:
    file:////xxxx
    Or copy and paste one of these URLs:
    xxxx
    or http://<some link>
    or http://127.0.0.1:8888/?token=<your-token>
  8. 出力からノートブックのURLをコピーし、127.0.0.1をユーティリティ・ノードのパブリックIPアドレスに置き換えます。
    http://<utility-node-public-ip-address>:8888/?token=<your-token>
  9. ノートブックで次のコマンドを実行します。
    import findspark
    findspark.init()
    import pyspark
    from pyspark.sql import SparkSession
    spark = SparkSession \
        .builder \
        .enableHiveSupport() \
        .appName("ODH-ML-WorkBench") \
        .getOrCreate()
  10. テストのためにSparkバージョンを取得します:
    spark.version

    出力例:

    '3.0.2'