Spark服务启动的一些总结

1、我理解常用的Spark部署方式有三种

1)、本地服务,就是所谓的local,在IDE上本地跑程序,用于调试

2)、Standalone,使用自己的master/worker进行服务的调度。  脱离yarn的资源管理

3)、Spark on yarn。 使用yarn来进行资源的调度

2、在spark-env.sh中配置export HADOOP_CONF_DIR= ,这样就可以使用hdfs了。

3、提交应用使用bin/spark-submit,通过指定master来确定是使用什么模式,即spark:// yarn-cluster yarn-client。如果使用的spark://,那么代表就是standalone模式,那么就需要sbin/start-all.sh启动一下spark集群进行资源调度。

4、使用bin/spark-shell来进行本地交互式查询。  但使用spark-shell貌似最好在standalone模式下进行

5、最终执行进程是Executor,它的资源使用在submit时指定--executor-cores,--executor-memory,--num-executors,如果没有指定,那么就会读取spark-env.sh配置文件中的SPARK_EXECUTOR_CORES,SPARK_EXECUTOR_MEMORY

6、在yarn模式下Executor进程名叫做CoarseGrainedExecutorBackend,在standalone模式下,Executor进程名叫做CoarseGrainedExecutorBackend。 (。。。我一直以为进程名称不一样呢,原来是一样的。 好吧,我是出来搞笑的)

7、yarn-client,yarn-cluster区别在于driver的位置。  所谓driver是指定你的运行代码。  client模式下,你的client就是在你在客户端中。 cluster模式下,似乎应该是在ApplicationMaster中,它出现的位置是随机的。

形象的举个例子就清楚了,如果你在你的执行代码中输出了日志,那么在client模式下是可以看到日志的,但在cluster模式下是不太容易看到日志输出的,如果想要看到, 那么需要去yarn的webui看。或者执行命令yarn application -logs xxxxxxxxxxxxx(如果我没有记错的话) 。

个人使用经历来看,如果是使用spark streaming ,那么用client感觉个人会好一些。

后续会读源代码,在源代码中了解一下client 和 cluster使用的区别,才能确定哪个应用场景会更好些。

暂时就这些,回头有想到的再补充

时间: 2024-10-16 03:44:14

Spark服务启动的一些总结的相关文章

CentOS 7下MySQL服务启动失败的解决思路

今天,启动MySQL服务器失败,如下所示: [[email protected] ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -

Spark 个人实战系列(2)--Spark 服务脚本分析

前言: spark最近非常的火热, 本文不讲spark原理, 而是研究spark集群搭建和服务的脚本是如何编写的, 管中窥豹, 希望从运行脚本的角度去理解spark集群. 研究的spark为1.0.1版. spark集群采用standalone模式搭建, 其基础架构为master-slave(worker模式, 单master+多slave(worker)节点构成. 脚本目录start-all.sh 作用: 启动整个集群stop-all.sh 作用: 关闭整个集群start-master.sh

react-native服务启动,运行项目到安卓模拟器

1.在CMD中进入要启动的项目下,输入react-native start,等待启动成功.成功之后再浏览器中访问http://localhost:8081/index.android.bundle?platform=android,如果可以访问,表示服务器端启动成功. 2.在上个服务启动的情况下,重新打开一个CMD,进入项目目录下,输入命令react-native run-android运行,第一次运行的时候会下载gradle,时间较长,成功之后,会在android模拟器中安装上,出现Welco

Delphi启动/停止Windows服务,启动类型修改为"自动"

unit U_StartServices; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WinSVC, StdCtrls; type TForm1 = class(TForm) btn_StartServices: TButton; btn_StopServices: TButton; procedure btn_StartServicesCl

关于.net服务启动注册到zookeeper,但是注册节点20分钟自动消失解决办法

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,作用简单描述就是相当于一个中介,服务提供者将服务注册到zk,服务调用者直接从zk获取,zk的作用就是协调 最近碰到公司iis服务启动了,然后该服务在zk成功注册节点并且provider有了节点,但是超过20分钟没有访问后,发现provider中的节点消失了,请教了开发知道,对于新增的服务器安装iis服务后,原来对于服务的应用程序池需要做3个操作才行. 如图1-1,需要在服务的应用程序池,选择服务-高级设置-禁用重叠回收[True

安装VisualSVN Server 报" Service 'VisualSVN Server' failed to start. " 服务启动失败

安装VisualSVN Server 报"Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details"错误.原因是启动"VisualSVN Server"失败 2 咱们先来看一下这个服务在哪,计算机-右键-管理或者系统服务-在服务里面可以看到一个"VisualSVN Server"项,状

SQL SERVER 服务启动失败

好久没用SQL SERVER了,今天启动SQL,发现服务启动失败,报错如下:--发生错误 1069-(由于登录失败而无法启动服务.) ,百度一下,解决方案如下: 请按下列步骤操作: 1.右键单击[我的电脑]管理,单击打开[服务和运用程序]中的[服务]: 2.右键单击SQL Server (MSSQLSERVER)服务属性,单击[登录]页签,单击选中"本地系统帐户",选中"允许服务于桌面交互",单击确定,启动服务即可: 上面的方法经过测试,对我来说可行,如有问题,就请

Apache服务启动失败couldn't start errorlog process, unable to open logs

在某用户环境下,Apache服务启动失败,报错信息如下 couldn't start errorlog process unable to open logs Apache是我们的产品组件,未防止日志过大 我们使用了Apache自带的切割滚存日志的组件rotatelogs.exe 在httpd.conf配置如下: ErrorLog "|bin/rotatelogs.exe logs/%Y%m%d%H%M%S_error.log 30M" 只要屏蔽这个设置,就可以正常启动Apache,谷

交通银行 Java Socket 服务启动 管理 WINDOWS 版

按照交通银行提供的无界面启动方法试验了很多次,都没有成功,所以自己动手用C# 知识写了一个. 小工具可以判断 交通银行 JAVA SOCKET 服务是否启动,并可以启动/关闭服务 主要代码如下: 判断服务是否启动 引用 :using System.Management; SelectQuery selectQuery = new SelectQuery(“select * from Win32_Process where Name = ‘java.exe’”); object cmdLine =