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使用的区别,才能确定哪个应用场景会更好些。
暂时就这些,回头有想到的再补充
Spark服务启动的一些总结的更多相关文章
- CentOS 7下MySQL服务启动失败的解决思路
今天,启动MySQL服务器失败,如下所示: [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Jo ...
- Spark配置&启动脚本分析
本文档基于Spark2.0,对spark启动脚本进行分析. date:2016/8/3 author:wangxl Spark配置&启动脚本分析 我们主要关注3类文件,配置文件,启动脚本文件以 ...
- logstash服务启动脚本
logstash服务启动脚本 最近在弄ELK,发现logstash没有sysv类型的服务启动脚本,于是按照网上一个老外提供的模板自己进行修改 #添加用户 useradd logstash -M -s ...
- MongoDB做为一项windows服务启动
MongoDB做为一项windows服务启动 Windows版本安装 MongoDB的官方下载站是http://www.mongodb.org/downloads,可以去上面下载最新的对应版本,有32 ...
- Nginx - Windows下作为服务启动
Nginx官方没有提供作为服务启动nginx的方案.以服务启动nginx依赖于winsw,当前最新版是1.19. 参考:https://segmentfault.com/a/1190000006807 ...
- 玩转Windows服务系列——无COM接口Windows服务启动失败原因及解决方案
将VS创建的Windows服务项目编译生成的程序,通过命令行 “服务.exe -Service”注册为Windows服务后,就可以通过服务管理器进行管理了. 问题 通过服务管理器进行启动的时候,发现服 ...
- 玩转Windows服务系列——Windows服务启动超时时间
最近有客户反映,机房出现断电情况,服务器的系统重新启动后,数据库服务自启动失败.第一次遇到这种情况,为了查看是不是断电情况导致数据库文件损坏,从客户的服务器拿到数据库的日志,进行分析. 数据库工作机制 ...
- Linux SendMail服务启动慢总结
在 CentOS release 6.6 上启动sendmail服务时发现服务启动过程非常慢,基本上要耗费3分多钟.有点纳闷:什么原因导致sendmail启动这么慢?搜索了这方面的一些资料,结合自己的 ...
- Mysql服务启动的时候 如何加载配置文件
Mysql服务启动的时候 如何引导配置文件 (启动加载顺序)
随机推荐
- PQ格式化虚拟机硬盘如何生效
用pq格式化虚拟机硬盘后,安装时,总是从dhcp的网卡启动,没有从硬盘启动 但是用ghost是可以拷贝镜像文件的 这就是说,硬盘有了,但是没有将硬盘"激活",没有将硬盘设为acti ...
- [整理]Web应用安全学习
最近在复习TCP/IP相关知识,同时也想对网络安全相关的知识进行系统的补漏. 阅读了一些常见的关于XSS.CSRF等的一些网上文章: http://www.cnblogs.com/luminji/ca ...
- jsp 变量和方法的声明 Java程序片 HTML注释 JSP注释
<%!...%> 声明变量和方法 <%!...%>之中的变量为JSP页面的成员变量,当多个线程访问本页面时,多个线程共享此变量. <%@ page contentType ...
- The Bottom of a Graph(tarjan + 缩点)
The Bottom of a Graph Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 9139 Accepted: ...
- Intent的Flag
小段代码: Intent it=new Intent(); it.setClass(Setting.this,Main.class);//从Setting跳转到Main it.addFlags(Int ...
- 使用 Python 创建你自己的 Shell(下)
导读 在上篇中,我们已经创建了一个 shell 主循环.切分了命令输入,以及通过 fork 和 exec 执行命令.在这部分,我们将会解决剩下的问题.首先,cd test_dir2 命令无法修改我们的 ...
- L17 怎么向应用程序商店提交应用
原地址:https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/ApplicationD ...
- linux文件分割(将大的日志文件分割成小的)
linux文件分割(将大的日志文件分割成小的) linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式.Linux下文件合并可以通过cat命令来实现,非常简单. 在L ...
- kettle转换JavaScript获取命令行参数
日常开发中由于很多参数是变化的,需要在部署时才能确定.而写在配置文件里又显得很笨重,因而可以运行时实时指定.那么kettle是怎么获取命令行中的参数的呢? kettle可以通过转换里的JavaScri ...
- iOS 转载一篇利用dispatch_once创建单例的文章
感谢文章原作者,http://bj007.blog.51cto.com/1701577/649413