我正在使用脚本启动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
。
答案 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 $@"