如何为pyspark jupyter笔记本设置端口?

时间:2018-12-13 02:04:36

标签: bash apache-spark pyspark jupyter-notebook

我正在使用脚本启动pyspark jupyter笔记本:

#!/bin/bash
ipaddres=...
echo "Start notebook server at IP address $ipaddress"

function snotebook ()
{
#Spark path (based on your computer)
SPARK_PATH=/home/.../software/spark-2.3.1-bin-hadoop2.7

export PYSPARK_DRIVER_PYTHON="jupyter"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

# For python 3 users, you have to add the line below or you will get an error
export PYSPARK_PYTHON=python3

$SPARK_PATH/bin/pyspark --master local[10]
}

snotebook --no-browser --ip $ipaddress --certfile=/home/.../local/mycert.pem --keyfile /home/.../local/mykey.key  

我想知道如何设置端口。我可以设置一个环境变量吗?我想在笔记本电脑启动之前确定端口。我尝试过--port 7999

1 个答案:

答案 0 :(得分:0)

如果您是指Spark UI端口,则在spark-env.sh中,它列出了您可以覆盖或在该文件中设置的这两个环境变量。

# - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT, to use non-default ports for the master
# - SPARK_WORKER_PORT / SPARK_WORKER_WEBUI_PORT, to use non-default ports for the worker

我不确定Jupyter值还是PySpark甚至通过它们,但是如果jupyter notebook --port可以独立工作,那么我会尝试

export PYSPARK_DRIVER_PYTHON_OPTS="notebook --port=7999"

如果要将snotebook中的所有参数传递给变量,则需要

export PYSPARK_DRIVER_PYTHON_OPTS="notebook $@"