如何创建与远程Spark服务器的连接并从本地计算机上运行的ipython读取数据?

use*_*197 5 ipython hdfs ipython-notebook apache-spark

ipython notebook在本地计算机上运行,想要与远程Spark服务器ip 建立连接,然后从上hdfs存在的文件夹中读取数据remote server。如何创建从本地到Spark服务器的远程连接ipython notebook

小智 6

笔记本必须从您的本地计算机运行,是否有任何特殊原因?如果没有,那就很简单了

  1. 在运行 spark 的远程机器上安装 jupyter/ipython
    remote$ pip install "jupyter[all]"

  2. 修改 spark-env.sh 并添加两行
    export PYSPARK_PYTHON=/usr/bin/python2.7 #your location may vary
    export PYSPARK_DRIVER_PYTHON=/usr/local/bin/ipython

  3. 启动pyspark
    PYSPARK_DRIVER_PYTHON_OPTS="notebook --no-browser --port=7777" pyspark

  4. 在您的本地机器上,设置一个 ssh 隧道
    ssh -i private_key -N -f -L localhost:7776:localhost:7777 ubuntu@remote.com

  5. 在本地浏览器上,访问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

  • 我无法在服务器中安装任何内容,因为我不是管理员。 (2认同)

小智 5

您可以尝试SparkMagic

SparkMagic是Livy的客户端,可以在Jupyter笔记本中运行。当我们在本地Jupyter客户端上编写Spark代码时,SparkMagic通过livy远程运行Spark作业。

使用SparkMagic + Jupyter笔记本,我们可以在本地localhost上运行的本地Jupyter笔记本中使用Spark,然后使用它连接到远程Spark集群