上一篇:spark运行流程
修改配置
- 从模板解析出配置来:
1
2
3conf$ cp spark-defaults.conf.template spark-defaults.conf
conf$ cp spark-env.sh.template spark-env.sh
cp slaves.template slaves - 修改slaves配置,增加worker节点:我这里只有本机,就是localhost
1
2
3
4conf$ cat slaves
localhost
# worker1
# worker2 - 修改spark-env.sh设置master:
1
2
3
4
543 # Options for the daemons used in the standalone deploy mode
44 # - SPARK_MASTER_HOST, to bind the master to a different IP address or hostname
45 # - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT, to use non-default ports for the master
46 SPARK_MASTER_HOST=localhost
47 SPARK_MASTER_PORT=7077
启动服务
当我调用start-all.sh
时,发现了ssh连接错误:
1 | $ sbin/start-all.sh |
这个解决办法参看:ubuntu localhost:ssh:connect to host localhost port 22:Connection refused
另外的启动方式:单个启动
1 | $ ./start-master.sh |
我还是修改完ssh来启动:
1 | $ sbin/start-all.sh |
检查启动结果:
1 | $ jps |
运行Pi示例
比之前local模式多了个--master spark://localhost:7077
1 | $ bin/spark-submit \ |
结果都差不多,但是我们有一个界面,运行在8080端口,可以查看结果:
通过spark-shell提交任务
1 | $ bin/spark-shell --master spark://localhost:7077 |
这时候我们看一下进程:
1 | $ jps |
会发现有一个CoarseGrainedExecutorBackend
, 这个executorBackend的出现代表spark已经申请了资源,虽然还没执行任务,具体流程请参考:
模拟报错
给一个不存在的文件:
1 | scala> sc.textFile("xxx").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect |
下一篇:spark历史服务配置