我在本地计算机上运行ipython notebook
,希望创建到远程Spark
服务器I.p.的连接,然后从remote server
上的hdfs
文件夹中读取数据。如何从本地ipython notebook
创建到Spark服务器的远程连接?
笔记本电脑必须在本地机器上运行有什么特殊原因吗?如果没有,它将像一样简单
-
在运行spark的远程机器上安装jupyter/ipyson
remote$ pip install "jupyter[all]"
-
修改spark-env.sh并添加两行
export PYSPARK_PYTHON=/usr/bin/python2.7 #your location may vary
export PYSPARK_DRIVER_PYTHON=/usr/local/bin/ipython
-
启动pyspark
PYSPARK_DRIVER_PYTHON_OPTS="notebook --no-browser --port=7777" pyspark
-
在本地计算机上,设置ssh隧道
ssh -i private_key -N -f -L localhost:7776:localhost:7777 ubuntu@remote.com
-
在您的本地浏览器上,访问http://localhost:7776
您可能希望在screen/tmux后面运行#3,以使其保持更长的时间。
一些有用的页面:
[1] 。http://jupyter-notebook.readthedocs.org/en/latest/public_server.html
[2] 。http://blog.insightdatalabs.com/jupyter-on-apache-spark-step-by-step
您可以尝试SparkMagic。
SparkMagic是Livy的客户,可以在Jupyter笔记本电脑中运行。当我们在本地Jupyter客户端上编写Spark代码时,SparkMagic运行Spark作业远程通过livy。
使用SparkMagic+Jupyter笔记本电脑,我们可以使用本地Jupyter本机上运行的Spark,然后使用它连接到远程Spark集群