spark集群部署模式概览
来源:互联网 发布:交友软件遇见 编辑:程序博客网 时间:2024/06/05 20:53
spark集群部署模式概览
[原文连接]
元素
一个spark应用包含运行在集群里的一系列进程,它们由主程序(称作driver)里的SparkContext
对象协调。
SparkContext
可以连接不同的集群管理器( Spark的 standalone cluster manager/ Mesos/YARN),这层抽象使得spark可以利用不同的底层设施。集群管理器用于分配资源,spark应用的运行流程与其密切相关。在连接到集群管理器之后,spark首先在集群的各节点上获取executor(用来执行结算和存取数据);然后,spark将你的代码(JAR/ Python files /..)发给executor;最后,由SparkContext
分配任务给executor执行。
在这个架构中有几点值得注意:
- 各应用程序的executor进程是独立的,它们的生命周期为整个应用程序的运行周期,在多线程中运行任务。 这有利于各调度方(每个driver安排自己的任务)和各执行方(不同应用程序的任务运行在不同JVM中)之间彼此隔离。但是,这也意味着在不写入外部存储的情况下,不能跨Spark应用程序(SparkContext的实例)共享数据。
- Spark对底层群集管理器是不可见的。只要可以获取executor进程,并且彼此进行通信,即使在也支持其他应用程序(例如Mesos / YARN)的集群管理器上运行spark也很容易。
- driver必须在其生命周期中侦听并接收其executors的传入连接(例如,请参阅网络配置部分中的spark.driver.port)。因此,工作节点必须能从网络中寻址到驱动程序。
- 因为driver负责调度集群上的任务,所以它应该靠近工作节点运行,最好在一个局域网内。 如果要远程发送请求到集群,最好是向driver发起一个RPC,并让其从附近提交操作,而不是在远离工作节点的位置直接运行驱动程序。
集群管理器分类
目前支持如下几种管理器:
- Standalone - Spark内置,可以方便的部署集群
- Apache Mesos - 常用的集群管理器,可运行Hadoop Mapreduce 和服务程序
- Hadoop YARN - Hadoop2的资源管理器
- Kubernetes(试验性) - 试验性支持,开发中,更多可参加项目主页
应用提交
使用spark-submit脚本,可以将应用程序提交到一个任意类型的集群中运行,这里是详细文档:[application submission guide] 。
监控
每个driver都有一个web界面,可以监控其上运行的任务、executors和存储使用情况。具体参见:monitoring guide
任务调度
参考 job scheduling overview
术语
SparkContext
的进程 Cluster manager 用来从集群获取资源的外部服务 (例如standalone manager, Mesos, YARN) Deploy mode 决定driver进程在哪里运行。”cluster” 模式下运行在集群内;”client”模式下,submitter在集群外运行driver Worker node 集群内可以运行Application的节点 Executor 一个worker节点上运行的负责执行任务和存储数据的进程。每个Application拥有自己的executor Task 可以发送给executor执行的任务单位 Job 由多个Task组成的并行计算,响应Spark动作(例如save,collect)而产生;driver日志中可以看到此术语 Stage 每个job被分成更小的任务,称为相互依赖的stage(类似于Map、Reduce);driver日志中可以看到此术语阅读全文
0 0
- spark集群部署模式概览
- Spark集群模式概览
- Spark独立集群模式部署
- 【Spark1.3官方翻译】Spark集群模式概览
- spark的独立模式集群部署
- Spark standalone 模式下的集群部署
- spark内核揭秘-02-spark集群概览
- Spark集群部署
- Spark集群部署
- Spark集群部署
- spark部署standalone集群
- spark部署yarn集群
- Spark集群部署
- Spark集群安装部署
- spark集群部署
- Spark集群安装部署
- docker部署spark集群
- Spark集群部署流程
- 欢迎使用CSDN-markdown编辑器
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:使用BootstrapPagination以分页形式展示数据信息
- MacOS 开发
- 数据结构——Java实现队列
- 西安网络赛 经验总结
- spark集群部署模式概览
- javascript中函数的循环调用
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:bootstrap-datepicker日历插件的实时动态展现
- 从服务端加载分页数据的策略
- html5之div 溢出隐藏
- LINUX -bash java command not found
- java多线程以及线程池技术总结
- 第三周项目一
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 C. Sum