入门 - Spark,IPython notebook with pyspark

Getting started - Spark, IPython notebook with pyspark

我想了解如何设置一切以使 iPython notebook 和 pyspark 正常工作。

我目前有一个 ec2 实例。

如果我错了请告诉我,但我想我可以使用这个:

./spark-ec2 --key-pair=awskey --identity-file=awskey.pem --region=us-west-1 --zone=us-west-1a --spark-version=1.1.0 launch my-spark-cluster

(spark.apache.org)

或者这个:

aws emr create-cluster --name "Spark cluster" --release-label emr-4.1.0 --applications Name=Spark --ec2-attributes KeyName=myKey --instance-type m3.xlarge --instance-count 3 --use-default-roles

(http://docs.aws.amazon.com/)

这两者真的有很大区别吗?

要编写和执行我的脚本,我应该在主节点上,对吧?

那么,我用来获取 Spark 运行 的 ec2 实例将不会被使用?

(我必须在主节点上安装 ipython 笔记本?)

在此先感谢您的帮助。

(我一直在寻找教程,但没有找到我要找的东西。

你知道好的吗?)

你提到的第一个教程是我迄今为止找到的最好的教程。我不确定您提到的两种方法之间的区别。

我用./spark-ec2在EC2上成功搭建了一个spark集群。让它与 IPython 一起工作需要一些额外的安装。

首先使用 ./spark-ec2 进程启动集群。我在以下方面取得了成功:

  1. 在主节点和所有工作节点上安装 Anaconda 和 PY4J。 Anaconda 应该设置在路径的前面(eg.PATH=/home/ec2-user/anaconda2/bin:$PATH).
  2. 接下来,ssh到master,然后$cd /root/spark到运行:

    MASTER=spark://<public DNS>:7077 PYSPARK_PYTHON=~/anaconda2/bin/python PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS='notebook  --ip="*"' ./bin/pyspark
    
  3. 访问 < master public DNS >:8888 以获得对笔记本的访问权限。如果你希望这个是public,那么在master的安全组中开放8888端口。否则,创建一个 ssh 隧道。