Spark初体验

Step 1 下载 Binary包,本地启动Shell获得初步体验

Follow官方文档:https://spark.apache.org/docs/latest/quick-start.html#where-to-go-from-here

Step 2 编写程序并打包,submit 到 local运行

同上,Follow官方文档即可。

Step 3 部署 Standalone Spark

使用 docker-compose启动。步骤:

git clone https://github.com/big-data-europe/docker-spark.git

cd docker-spark

docker-compose up

Step 4 submit到 standalone Spark运行

注意:样例代码是读取文件,因此当在worker上运行的时候,文件必须也在worker上,同时打的jar包也必须在worker上。这个可以将 worker的volume和本地的共享来完成。

参考命令行:./spark-submit --class "SimpleApp" --master spark://spark-master:7077 --deploy-mode cluster /Users/xxx/IdeaProjects/spark-helloworld/target/spark-helloworld-1.0-SNAPSHOT.jar

避坑指南 & 参考

Spark的运行时架构:https://spark.apache.org/docs/latest/cluster-overview.html

其中 ClusterManager既可以是Yarn,也可以是Mensos,在Standalone模式下(也就是不依赖任何资源调度服务服务直接启动Spark master和slave的部署方式),ClusterManager就是Spark-Master本身。

Master启动后,在8080端口有Web UI,可以看到所有的workers,可以看到Running Drivers & Applications,Completed Drivers & Applications,Slave启动后也有Web UI在8081端口。Master上有链接可以看到每个application的stdout和stderr。

如果submit的时候 deploy-mode不指定或者指定为client,意味着driver程序在本地运行,指定为 cluster,就会在worker节点上启动 driver程序。只有使用 cluster deployment mode部署的程序,才能在spark-master上看到driver,否则只能看到application。

关于如何submit application:https://spark.apache.org/docs/latest/submitting-applications.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容