2019独角兽企业重金招聘Python工程师标准>>>
1、Spark本地运行模式
控制台:
pyspark --master local[4]
打开浏览器,访问http://localhost:4040可查看运行状态。
缺省使用的Python环境是2.7,如果希望使用python3,可以设置环境变量 PYSPARK_PYTHON=python3.
在控制台首先运行:
export PYSPARK_PYTHON=python3
或者将上述语句加入pyspark的脚本中,或者加入~/.bashrc文件中,或者加到.profile。控制台窗口需要重启才有效。
2、Spark集群运行模式
这里介绍Spark的Standalone模式,即只有或主要运行Spark的集群。
2.1 启动Master
启动Master:
start-master.sh
打开浏览器进入Master管理页面: http://localhost:8080
可以看到,一般启动Master的监听URL在:
URL: spark://supermap:7077
REST URL: spark://supermap:6066(cluster mode)
2.2 启动Slave
启动Slave:
start-slaves.sh --master spark://supermap:7077
上面的--master参数为启动的master服务地址。
刷新Master的管理网页,可以看到新增加的worker。
2.3 启动控制台客户端
连接集群:
pyspark --master http://supermap:7077/
刷新Master的管理网页,可以看到新增加的Application.
点击PySparkShell,进去可以看到所运行的job等信息。
2.4 提交批处理任务
使用spark-submmit,具体参考:http://spark.apache.org/docs/latest/submitting-applications.html
注意,提交任务既可以进入交互模式,也可以使用deploy-mode。交互模式下,客户端一直保持连接,并即时获得运行的信息。而deploy-mode提交后由后台运行,关闭客户端不影响任务的执行,运行信息需要通过日志文件去查看。
3、Spark on Mesos协同运行模式
如果集群上会运行很多任务,Spark的调度器与别的调度器会竞争资源,就需要更高级的调度器来进行协调,一般使用mesos或YARN。这里不再详述,可参考:http://spark.apache.org/docs/latest/running-on-mesos.html