博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark+Docker的集群模式
阅读量:5878 次
发布时间:2019-06-19

本文共 726 字,大约阅读时间需要 2 分钟。

hot3.png

Spark支持local、Standalone和Cluster三种并行运行模式【参考:】。

  • local,单机运行模式。
  • Standalone,Spark自己构建的独立集群。
  • Cluster,运行在Mesos/YARN/Kubernetes等集群环境中,从而可以让Spark与其他的应用协调资源。

参考:

Docker作为应用“集装箱”,提供了Swarm集群运行环境( 最新版为swarmkit,参考: ),也可以运行于Mesos/Kubernetes等集群环境中。

将Spark部署于Docker中,可以提供单机运行和手动的Standalone运行,也可以同时支持Swarm/Mesos/YARN/Kubernetes集群环境。

部署方式:

  • 1、需要将Spark分为Master和Slave两种部署模式,创建两类Spark容器(或者创建为一个通用容器,通过启动参数判断节点将启动为Master还是Slave模式)。

  • 2、通过启动参数环境变量将Spark启动参数传递进Docker。

  • 3、在容器启动时,设置Spark节点启动,并且Slave节点自动连接到Master节点。

理论上,可以在一个Docker中启动多个Spark节点,但这会带来管理和负载均衡的复杂性。

建议将每一个Spark节点配置为一个Docker,从而将负载均衡的事交给Docker上的集群环境去做。

通过OpenStack for Docker、Rancher和SuperMap CloudManager等虚拟机和容器管理系统都可以设置和启动一个Spark的Docker或虚拟机的集群。

转载于:https://my.oschina.net/u/2306127/blog/783800

你可能感兴趣的文章
L3.十一.匿名函数和map方法
查看>>
java面向对象高级分层实例_实体类
查看>>
android aapt 用法 -- ApkReader
查看>>
[翻译]用 Puppet 搭建易管理的服务器基础架构(3)
查看>>
Android -- AudioPlayer
查看>>
Python大数据依赖包安装
查看>>
Android View.onMeasure方法的理解
查看>>
Node.js 爬虫初探
查看>>
ABP理论学习之仓储
查看>>
NestJS 脑图
查看>>
我的友情链接
查看>>
Html body的滚动条禁止与启用
查看>>
Tengine新增nginx upstream模块的使用
查看>>
多媒体工具Mediainfo
查看>>
1-小程序
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
Mind_Manager_2
查看>>
手动升级 Confluence - 规划你的升级
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>