Spark集群管理器介绍
Spark可以运行在各种集群管理器上,并通过集群管理器访问集群中的其他机器。
Spark主要有三种集群管理器,如果只是想让spark运行起来,可以采用spark自带的独立集群管理器,采用独立部署的模式;如果是想让Spark部署在其他集群上,各应用共享集群的话,可以采取两种集群管理器:Hadoop Yarn 或 Apache Mesos。
一、独立集群管理器
Spark独立集群管理器提供的在集群上运行应用的简单方法。要使用集群启动脚本,按照以下步骤执行即可:
1、将编译好的Spark发送到集群的其他节点相同的目录下,例如: /home/opt/spark
2、设置集群的主节点和其他机器的SSH免密码登录
3、编辑主节点的conf/slaves文件,添加上所有的工作节点的主机名
4、在主节点上运行sbin/start-all.sh启动集群,可以在http://masternode:8080上看到集群管理界面
5、要停止集群,在主节点上运行 sbin/stop-all.sh
二、Hadoop Yarn
YARN是Hadoop2.0中引入的集群管理器,可以让多中数据处理框架运行在一个共享的资源池上,而且和Hadoop的分布式存储系统(HDFS)安装在同一个物理节点上。所以让Spark运行在配置了YARN的集群上是一个非常好的选择,这样当Spark程序运行在存储节点上的时候可以快速的访问HDFS中的数据。
在Spark中使用YARN的步骤:
1.找到你的Hadoop的配置目录,然后把它设置问环境变量HADOOP_CONF_DIR。
export HADOOP_CONF_DIR="..."
然后采用如下方式提交作业
spark-submit --master yarn yourapp
2、配置资源用量
(1) --executor-memory 设置每个执行器的内存用量
(2)--executor-cores 设置每个执行器进程从YARN中占用的核心数目
(3)--num-wxecutors Spark应用会使用固定数量的执行器节点,默认为2
三、Apache Mesos
Mesos是一个通用的集群管理器,既可以运行分析性负载又可以运行长期运行的服务。
在Mesos上使用Spark,可以采用以下方式:
spark-submit --master mesos://masternode:5050 yourapp
1、Mesos的调度模式
Mesos的调度模式分为两种:粗粒度模式和细粒度模式
粗粒度模式:只Spark会提前为每个执行器分配固定数量的CPU,而且在任务结束前不会释放这些资源。
可以通过设置spark.mesos.coarse为true,开启粗粒度调度模式
细粒度模式(默认):执行器进程占用的CPU核心数会在执行任务的过程中动态变化。
2、配置资源用量
(1) --executor-memory 设置每个执行器的资源
(2) --total-executor-cores 设置应用占用的核心数
Spark集群管理器介绍的更多相关文章
- Spark的集群管理器
上篇文章谈到Driver节点和Executor节点,但是如果想要运行Driver节点和Executor节点,就不能不说spark的集群管理器.spark的集群管理器大致有三种,一种是自带的standa ...
- ruby redis的集群管理器
#========================================================================================== # => ...
- OpenPAI:大规模人工智能集群管理平台介绍及任务提交指南
产品渊源: 随着人工智能技术的快速发展,各种深度学习框架层出不穷,为了提高效率,更好地让人工智能快速落地,很多企业都很关注深度学习训练的平台化问题.例如,如何提升GPU等硬件资源的利用率?如何节省硬件 ...
- Fleet(集群管理器)
工作原理 fleet 是通过systemd来控制你的集群的,控制的任务被称之为unit(单元),控制的命令是fleetctl unit运行方式 unit的运行方式有两种: standard globa ...
- Spark 集群管理命令
[启动] # 启动所有服务 start-all.sh # 启动 master start-master.sh # 启动所有 worker start-slaves.sh # 启动单个 worker s ...
- Kubernetes TensorFlow 默认 特定 集群管理器
Our goal is to foster an ecosystem of components and tools that relieve the burden of running applic ...
- Kubernetes TensorFlow 默认 特定 集群管理器 虚拟化技术
Our goal is to foster an ecosystem of components and tools that relieve the burden of running applic ...
- Spark集群模式概述
作者:foreyou出处:http://www.foreyou.net/2015/06/22/spark-cluster-mode-overview/声明:本文采用以下协议进行授权: 署名-非商用|C ...
- zhihu spark集群,书籍,论文
spark集群中的节点可以只处理自身独立数据库里的数据,然后汇总吗? 修改 我将spark搭建在两台机器上,其中一台既是master又是slave,另一台是slave,两台机器上均装有独立的mongo ...
随机推荐
- Android学习笔记_65_登录功能本身没有任何特别
对于登录功能本身没有任何特别,使用httpclient向服务器post用户名密码即可.但是为了保持登录的状态(在各个Activity之间切换时要让网站知道用户一直是处于登录的状态)就需要进行cooki ...
- lucene&solr学习——创建和查询索引(代码篇)
1. Lucene的下载 Lucene是开发全文检索功能的工具包,从官网下载Lucene4.10.3并解压. 官网:http://lucene.apache.org/ 版本:lucene7.7.0 ( ...
- 学习MySql和MongoDB笔记
首先了解下关系型数据库和非关系型数据库 关系型数据库 SQL关系型数据库采用了关系模式来组织数据,即关系模式为二维表格模型. 主要的数据库:SQL Server,Oracle,Mysql,Postgr ...
- Selenium处理页面---弹窗、表格、鼠标悬停、frame、下拉框、上传文件
一.Selenium测试-常用页面处理 1.概述 UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT.Robot ...
- spring boot 小案例
1. SpringBoot 1.1. 概要 在传统的SSM框架应用过程中,存在大量的配置文件,及相关的配置项,例如: 1. DispatcherServlet 2. CharacterEncoding ...
- 基于socketserver模块实现并发的套接字(tcp、udp)
tcp服务端:import socketserver class MyHandler(socketserver.BaseRequestHandler): def handle(self): #通信循环 ...
- es6几个新增语法的使用----数组
//数组的累加方法 let arr=[1,2,3]; let sum=arr.reduce((prev,cur)=>{ return prev+cur; }) console.log(sum)/ ...
- vue服务端渲染按需引入mint
vue服务器渲染按需引入mint-ui 1.修改.babelrc文件,在.babelrc文件中plugins数组中添加 { "presets": [["es2015&qu ...
- 构建ExtJS 6.x程序
构建ExtJS 6.x程序 ExtJS也有自己的打包工具 SenchaCmd,它用来生成构建ExtJS前端组织架构,最后打包发布生产,操控着前端整个开发生命周期,SenchaCmd依赖于JDK,所以要 ...
- 用bootstrap框架弄的网站。(首页)
网站的每一处代码都加上注解,以便浏览! 效果图: <!doctype html> <html lang="zh-cn"> <head> ...