spark 如何 多个application同时运行不报错

如题,在代码层面,已经设置了config的
set("spark.driver.allowMultipleContexts","true")
但是同时两个任务提交的时候还是会出现两个任务都阻塞掉的问题
求教下,这个如何友好的优化,谢谢啦

6个回答

在spark的Job Scheduling中介绍了spark多个任务同时执行,相关链接为:

https://spark.apache.org/docs/1.2.0/job-scheduling.html

spark要实现多个application同时运行,涉及到多个application的资源共享。在spark on yarn模式下,yarn可以用来管理集群资源。为了能够比较好的利用集群的内存资源和cpu资源,需要使用spark的Dynamic Resource Allocation 功能

   Dynamic Resource Allocation有一个问题,就是executor空闲的时候,executor会被remove,但是executor执行后的数据结果很可能被其它executor使用,为了解决这个问题spark需要启动external shfuffle service,相关配置为往yarn-site.xml文件加入如下内容:
big_bow
big_bow 谢谢,在研究mesos 搭建spark这种方式了
一年多之前 回复

spark2.x运行多个application是可以的啊,一个spark application只能启动一个SparkContext,你想运行多个 application把spark程序打包,多次提交就可以了,不知道是不是我理解错了,你是不是想一个SaprkContext中,运行多个应用程序,SparkContext感觉和tomcat一样,而你想运行多个web程序?

spark2.x运行多个application是可以的啊,一个spark application只能启动一个SparkContext,你想运行多个 application把spark程序打包,多次提交就可以了

参考这个例子:
SparkConf conf = new SparkConf();
conf.setAppName("Spark MultipleContest Test");
conf.set("spark.driver.allowMultipleContexts", "true");
conf.setMaster("local");

SparkContext sc = new SparkContext(conf);
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc);

//Create a Java Context which is the same as the scala one under the hood
JavaSparkContext.fromSparkContext(sc)

big_bow
big_bow 这个测试过了的,行不通的
一年多之前 回复

park要实现多个application同时运行,涉及到多个application的资源共享。在spark on yarn模式下,yarn可以用来管理集群资源。为了能够比较好的利用集群的内存资源和cpu资源,需要使用spark的Dynamic Resource Allocation 功能

在spark on yarn模式下,yarn可以用来管理集群资源。为了能够比较好的利用集群的内存资源和cpu资源,需要使用spark的Dynamic Resource Allocation 功能

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spark源码阅读二-spark application运行过程
本篇文章主要讲述一个application的运行过程。 大体分为三部分:(1)SparkConf创建;(2)SparkContext创建;(3)任务执行。
多个application对象同时赋值
各位高手,rn我想获得系统中,所有以"A"开头的所有的application对象,并将其设置为null,该如何实现?
同时运行多个任务
怎样让程序同时运行多个任务....用多线程还是多进程吗?!rn我想做一个这样的程序:rn有3个定时器...分别定时做不同的任务...而且互相不干扰...rn定时器1: 每个1个小时提醒"应该休息了"rn定时器2:每个2小时去放一首音乐rn定时器3:每个3小时去....做另外一个任务...rn这样...也不一定是一个定时器.可能是多个....rn类似的程序应该是什么思路...用多线程或者多进程吗?!rn能给个类似的程序代码或者思路吗?!
同时运行多个循环
VBA代码,用来把表1的单元格拷贝到表2rn两个表中单元格数目一致,但结构不一样,不能整行(列)复制,就写成这个样子了:还好只有2个变量,多了岂不要抓狂...rn自己看着很难看,大家帮忙优化一下rnrni和y的循环次数相同,x和h的循环次数相同rn我想要的是形如 for (i = 4 To 12 Step 1)and(y = 11 To 99 Step 8)...next 这样,一次循环体中两个变量同时更新rn这样看着清晰,写的也方便。rnrn表2的Cells(i, h)中h由其它部分赋值rnrnsub main()rn For x = 5 To 11rn i = 4rn For y = 11 To 99 Step 8rnrn sourdata1 =Worksheets(1).Cells(x, y)rn sourdata2 =Worksheets(1).Cells(x, y + 1)rnrn Worksheets(2).Cells(i, h) = sourdata1rn Worksheets(2).Cells(i, h) = sourdata2rnrn i = i + 3rn nextrn Nextrnend subrnrnrnrn
同时运行多个线程
我开了两个线程,怎么让两个线程同时运行?rnrn为什么我写出来的是等到一个线程执行完成后才执行另一个线程?真是不懂呀?!烦
同时运行多个dropbox
同时登录多个dropbox账户,网络同步数据
有可能同时运行多个JAVA application程序吗?
本人已经做好几个处理图像的java application程序,比如一个java application是人工把清晰图像变模糊,另一个是通过运算恢复原图像,都运用swing展现出来,运行后可以调节一些变量看到图像改变时的效果。rnrn问题一:这两个java application 可以同时运行吗?rnrn问题二:如何将结果更好的展现出来?目的是要让任何人都可以方便的运行使用它们,自行打开一张图片,或从一些已设定的图片中选一张,进行处理,并看到结果。rnrn请各位达人帮帮忙,出出主意。小妹不胜感激。
如何在eclipse中同时运行多个Java Application
我自己在做socket编程时,要同时运行客户端和服务器端,除了同时打开两个终端窗口运行以外, 更方便的,直接在eclipse里面按照需要先后运行两个class(比如先run服务器后run客户端),后运行的并不会被覆盖掉,直接点击console右上角的Display Selected Console,切换console窗口。...
spark运行成功,8088web页面不显示活跃Application
只需要把代码中的设置运行模式的部分去掉就可以了 setMaster("local")的作用是设置运行模式为本地模式,web可以看到分布式模式的任务,但是看不到本地模式的,去掉.setMaster("local")即可...
如何不让同一个程序多个同时运行?
谢谢
RN 多个rn项目如何同时运行
临时修改运行端口:react-native start –port=8082; 然后再运行项目 永久修改端口: 你的项目名称/node_modules/react-native/local-cli/server/server.js 第二步:修改iOS项目的端口号 在修改了React Native 服务的端口号之后,我们要需改iOS项目的端口号让它从新端口获取jsbundle,否则的话...
如何一个job同时运行多个存储过程
请问我在一个a包里有两个存储过程b和c能够同时运行吗?或者设定b是10分钟 10/1440 c是 20/1440?rnrnrn看网上说直接运行包?rnvariable job2 number;rnbeginrndbms_job.submit(:job2,'a',sysdate,'sysdate+20/1440');rncommit;rnend;rnrnrnrn谢谢
如何防止多个程序实例同时运行?
好像在win32编程里面可以用windows api来检测是否有其他的程序实例在运行,这样就可以避免多个程序实例运行,那么java中应该如何能比较方便的实现?
如何让多个线程同时运行
package servlet;rnimport servlet.ReadFile;rnrnpublic class ReadFileThread extends Threadrn long minPrime;rn String filepath;rn String username;rn public ReadFileThread(long minPrime,String username,String filepath)rn this.minPrime=minPrime;rn this.username=username;rn this.filepath=filepath;rn rn rn public void run()rn ReadFile rf=new ReadFile(username,filepath);rn rf.readFileThread();rn rnrnrnrnrnfor(int i=0;i
scrapy如何同时运行多个spider
是不是需要scrapy redis?如何操作,是把spider都写在一个 spider.py里吗?rn求问。rn我的几个spider爬的字段都完全一样,是不是可以共用item
如何让netbeans同时运行多个.java文件?
如题。rn偶初学java,在运行多个文件时,输出的总是总项目的输出结果,是netbeans不能同时输出多个文件的运行结果的吗?在网上看了不少资料,不是很懂……哪位高手详细赐教一下,感激不尽。。。
如何让多个窗体同时运行在一起?
就好像Winmap播放器的界面一样。
如何提交多个application
我通过spark-submit 提交2个任务时,发现只有一个在运行,另一个处于等待状态,我提交的参数是rn./spark-submit --class testApp /path/test.jar /path/config rn./spark-submit --class testApp /path2/test.jar /path2/config rnrn求解决,谢谢rn[img=https://img-bbs.csdn.net/upload/201702/23/1487842152_169875.jpg][/img]
Spark如何Kill掉application
项目需要,要对spark的一些任务进行监控,有些任务积压过多,要kill掉。rn求大家指导一下,如何kill掉提交的application
多个while同时运行.vi
多个while同时运行.vi
linux下同时运行多个python脚本
run.sh #!/bin/bash python mysql.py > /dev/null 2>&1 & python mysql1.py > /dev/null 2>&1 & python mysql2.py > /dev/null 2>&1 & python mysql3.py > /dev/nul...
多个TOMCAT实例同时运行
三步骤: 1.修改8080http访问端口 2.修改8005Shutdown端口 3.修改8009端口和其他HTTP服务器连接端口 
系统同时运行多个数据库
我的系统是多会员数据存储,要求每个会员对应一个数据库,现在发现,A会员登录以后,运作正常,但是B会员登录以后,A会员发现自己的数据库变成了B会员的数据库内容,请求各位前辈指点!
同时安装运行多个mysql
1.问题来源        一台机子上要运行mysql-5.5.11-win32和mysql-5.0.27-win32两个版本的mysql,其中5.5.11安装成windows服务,默认情况下,mysql运行于3306端口,因此需要做适当配置才能让两个版本同时运行。   2.解决步骤 1)软件准备         mysql-5.5.11-win32 和mysql-5.0.27-win32的...
tomcat下同时运行多个应用
在开发阶段调试时,tomcat的server.xml中配置了多个应用的Context,但是在启动tomcat同时加载运行这些应用时报错: java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root'   由于未设置webAppRootKe...
多个tomcat同时运行配置
  其实只要修改server.xml中几个端口就行了,具体如下:   <Server port="8006" shutdown="SHUTDOWN">   1、这应该是关闭服务器的端口,需要修改。     2、 <Connector port="8082" protocol="HTTP/1.1" connectionTime...
cmd 同时运行多个命令
mvn install "&&" java -jar .\target\gs-maven-0.1.0.jar很奇怪的windows ,命令分隔符居然是用双引号的,PS:本人学习文档记录
Linux同时运行多个Tomcat
每个tomcat都有自己的端口和监听的端口,那么要多个运行,就必须使用不同的端口,具体怎么操作呢,看下面: 1)需要JDK作为支撑,这里就不错处理了,我这里的目录:/usr/local/jdk7 2)首先下载对应的linux下的tomcat版本,存放于2个目录,这里以/usr/local/tomcat01和/usr/local/tomcat02为例,多个以此类推。这里tomcat01为了统一,
同时运行多个tomcat的方法
解决一台服务器运行多个tomcat的问题
Linux配置多个Tomcat同时运行
网上有各种各样的案例,但是都没有通过,最后还是靠自己解决了。 在 vi /etc/profile中删除关于Tomcat的相关配置。如: export CATALINA_BASE=/data/server/tomcat export CATALINA_HOME=$CATALINA_BASE export TOMCAT_HOME=$CATALINA_BASE 刷新配置文件source /et...
nodeJS同时运行多个子进程
在游戏项目开发中,经常会遇到有大厅内含多个子程序的模式,这时候使用nodeJs做服务端时会涉及到对多个子进程的管理和框架问题,结合以往的实际开发经验,对这种模式的服务端设计做个简单的总结。1.  核心模块child_process和fschild_process模块主要用于在主进程运行的时候衍生出独立于主进程的异步子进程。fs模块主要用于在主进程内读取需要的配置文件2.  实现方式首先需要一个配置...
让多个操作系统同时运行
Windows的升级是越来越快,Win98才弄明白,Win2000就出来了,刚刚才把Win2000用习惯,XP又开始发布,这样看来我们总是跟着微软的脚步在走。为了不放弃老的系统,而又想使用新的系统,安装多系统是不错的选择,但是麻烦并没有完全解决。多操作系统之间容易出现问题,一个系统出现问题将直接影响到整个系统的正常工作,并且在不同系统之间来回的切换,也花费了我们不少的时间。rnrn 于是我们开始奇思妙想,让多个系统同时运行,就好像Linux中的多个进程一样,但是这个好像又不太可能,于是也只有打消这个念头,继续在多系统之间徘徊。在IT行业中好像有句名言,只有我们做不到的,只有我们想不到的,此名言对于服务性行业同样适用,VMware Workstation这款软件就能让我们同时运行多个操作系统。rnrn VMware Workstation引入了一种虚拟操作系统的概念,从已有的硬件中,划一部分内存和硬盘空间,让虚拟的操作系统使用,然后配以VMware的管理软件,从而达到多系统同时运行的目的。虚拟的系统和真的系统没有什么区别,有自己的硬件,BIOS等等,你可以随便对其进行操作,包括分区、格式化,完全不要担心会对现有的系统有任何的影响。rnrn安装以及系统要求:rnrn 如此优秀的软件安装却比较麻烦,你要去申请其使用注册码,才能使用该软件,并且还只能使用30天。先别管这么多,使用一下再说。其注册码申请地址为:http://www.vmware.com/vmwarestore/newstore/wkst_eval_register.jsp,需要输入一堆的个人资料,为了不让老外得知我们的重要资料,可以随便输入,但是EMAIL地址一定要正确输入,否则你是收到不到注册码的。注册完成,顺利的话,你能马上收到注册码的邮件。rnrn 接下来就去下载其安装文件吧,站点提供了多个下载地址,你可以选择速度快的。http://www.vmware.com/download/ws_beta.html,这个是下载页面,需要注意的是,VMware有Windows版本和Linux版本,不要下错了。rnrn VMware对于计算机也有一定的要求,其最低配置为PII266,128M,大量的硬盘空间,用来安装多系统。这样配置在现在来说,输入比较低了,但是如果你想良好的运行,最好使用高配置,否则使用的过程将上一场痛苦的经历。rnrn 而对于软件环境也是有要求的,以下仅说明For Windows的版本的要求。rnrn Windows XP 专业版和家庭版本rn Windows 2000 专业版、服务器版以及高级服务器版本rn Windows NT 工作站和服务器,需要Pack 3或更高rnrn 建议大家使用Win2000,稳定,并且其设置也不像NT那么麻烦。(主要是我对NT不太熟悉,所以觉得NT设置比较麻烦。)rnrn注:此次测试的计算机配置为C400、128M、40G、网卡、TNT2,系统为Win2000 高级服务器版本。VMware的版本为,Vmware Workstation 3.0 Beta for Windows。rnrn 安装过程还是很简单的,只是在复制完程序文件后,会自动添加N个新的硬件。反正是一路“确定”、“是”即可,如果遇到系统半天不动的情况,按几下回车试试。安装时间的长短要看你机器的配置如何,我这里安装比较慢,差不多有十来分钟。重新启动后,我查看了系统的硬件配置,添加了很多新的硬件,详细列表就不列出来了,大家可以慢慢去看。并且VMware还自动添加了自启动项,多出了几个和VMware相关的程序。rnrnVMware的使用:rnrn 建立虚拟操作系统:rnrn 启动VMware后,会提示你输入注册码,怎么你还没有收到邮件,那么你可以去VMware的站点输入你的EMAIL和密码,再试一次,如果你忘了密码,那么你只有重新注册了。(不好意思,软件使用写多了,就费话连篇,大家见谅!)rnrn 进入主窗口后,选择“New Virtual Machine”来建立一个新的虚拟系统。虽然VMware提供了“Typical”典型的制作方式,但在使用中发现此种方式并不好,一个主要的缺点就是无法调节硬盘空间的大小,因此还是建议大家使用“Custom”自定义的制作方式。当然如果你嫌麻烦,也可以不听我的建议。但是要知道经验的积累是需要付出惨痛的代价,开始我就是采用典型,整理硬盘、安装系统花了不少时间。(不听我的,有你哭的时候,哈。。。。)rnrn 选定制作的方式后,接下是一些相关设置。(以自定义方式为例,采用典型没有这么多步骤,但相差不多。)rnrn 1、选择操作系统的类型,是通过下来列表来选择,列表中包含了Windows发表以来的所有版本,还有DOS和Linux等等。rnrn 2、指定系统的名称以及存放的位置,无需修改,采用默认值。rnrn 3、定义内存的大小,内存的大小是可以调节的,默认的是64M,为了让系统运行得快一些,你可以将其数值调整得大一些。rnrn 4、网络连接方式的选择。当然你必须先有网卡,发现VMware有一个问题,要好现有的系统之间进行数据的传输,只有使用网卡,也可能有其它的办法,但是我没有发现。这可能要麻烦AD,那个帮助全是E文,看不太明白。一般情况下,选择“Use Bridged networking”。rnrn 5、硬盘类型以及空间的选择。这样同样有多个选择,建立新的虚拟硬盘、使用现有的虚拟硬盘和创建新的物理硬盘。为了保险起见,最好不要选择创建新的物理硬盘,有可能会破坏现有的系统,反正我是不敢冒这个险,当然高级用户除外。(例如BBQ就可以选择此项,反正是公家的机器,再说你那里机器也多,弄坏一台,还有好多台。)普通用户,请选择“Create a new virtual disk”。接下来设定硬盘的空间大小,默认的是4G,建立调小一点,要不然安装新系统时,检查硬盘的时间会非常漫长,开始我就是选择默认,我去看了半部无聊的偶像剧才完成。建议设定为1G,保证能装下一个操作系统就够了。再下来是硬盘文件存放的地方设定,默认确定即可。这样看来,VMware是将系统以单个文件的形式存放,并不是你花分了1G,那么这部分空间就无法使用了,只是系统的上限空间是1G。rnrn 完成以上5个步骤,就基本上完成了一个系统的设置,你可以采用同样的方法设置多个系统。如果觉得这些设置有问题,你可以主窗口中,打开系统的右键菜单,选择设置进行修改。但是发现一个问题,硬盘空间的大小无法修改的,因此在开始设置硬盘大小时要调整好。并且在设置中还可以添加其它硬件,例如声卡、SCSI卡等,但在实际的使用中发现,VMware对声卡的支持并不好,我是弄了半天也没有听到声音。rnrn 完成设置,这还没有完,才刚刚开始,接下来要在虚拟的空间上安装系统。rnrn 虚拟操作系统的安装:rnrn 安装新系统前,你要准备启动盘,最好是启动光盘,这样方便一点。记得我开始安装时,思路总是有点混乱,其实你只要把它当成一台只有硬件,没有系统的新机器就想得通了。rnrn 在主窗口中选定虚拟系统后,点击工具栏上的“Power On”,就能启动系统,当然要放入启动光盘。这时候,你会看到机器的启动画面,有BIOS的图标,内存自检,一切都和计算机的启动没有什么两样。要进入CMOS,按“F2”,同样你可以进行多个参数的设定,没有什么特别的,只是在调整启动顺序的时候,是用到加号和减号键,比较特殊,以前没有见过。当你用鼠标点击运行的窗口后,就不能再将鼠标移动到现有的系统中来了,你只能在窗口中进行操作,要想切换到现有的系统,可以按组合键“Ctrl+Alt+Esc”。rnrn 启动后,先分区,而不是急着安装系统,格式化硬盘。最好是将安装文件拷贝到虚拟的硬盘上进行安装,这样安装起来快一些。对于系统的安装就没有什么好说的,你所要做的事情就是耐心的等待。我安装的是Win98,差不多花了一个小时。rnrn 虚拟系统的使用:rnrn 安装结束后,你会发现系统的颜色只有16色,并且运行的速度也很慢,鼠标移动口很困难,开始以为是显卡的驱动没有安装,但并不是这样,这时你需要安装“VMware Tools”,在运行窗口下面会有提示,或者在菜单“Settings”中进行选择。安装了这个工具,运行速度明显快了很多。如果你现有的系统中只运行了VMware,选择工具栏上的“Full Screen”,你根本就感觉不到现有系统的存在,就好像在使用一个单系统一样。rnrn 这样你就完成了一个虚拟系统的安装工作,而对于这个虚拟系统的使用就不用说了,和普通的使用没有什么区别,就不多说了。在这里只说明如何和现有的系统传输数据。其实也很简单,就好像有网卡的两台单机,进行对等网的建立一样,只是少了网卡、网线的安装而已。同样你要设置IP地址,安装共享所需的协议,建立共享目录,这一切都完成后,就可以共享数据了。rnrnrnrn 要关闭虚拟系统,不要使用工具栏上的“Power Off”,而是要安装正常关闭系统的步骤来关闭,直接使用“Power Off”和计算机直接关闭电源是同样的效果,再次开机时,同样会进行硬盘的检测。其实你也可以不关闭系统,而是直接使用“Suspend”挂起功能,这样系统会自动保存当前的状态,下次只需要使用“Resume”恢复,就可以回到关闭时的状态,这比重新启动要快得多。rnrn 如果你要删除某个虚拟系统,可以直接在其右键菜单中进行操作,但是这仅仅只是删除了列表,其对应的文件并没有删除,你需要找到存放系统文件的目录,删除整个目录即可,每个操作系统都对应一个以操作系统名称命名的目录,其目录的位置一般在“我的文档”中。rnrn 你可以同时启动多个系统,当然这会耗费你大量的系统资源,并且有时候还会提示你内存不够,这是因为VMware设定了内存限制。默认数值是64M,例如一个虚拟系统已经设定为64M,并且已经启动,那么你将在启动其它系统。这时你可以选择菜单“Settings/Preferences”,选定里面的“Memory”来调整限制内存的大小,或者直接去掉内存限制的功能。rnrn总结:rnrn VMware给我们带来了一种新的理念,让我们可以方便的运行多个操作系统,让你可以在不同系统之间轻松的切换。当然所付出的代价是,要耗费大量的系统资源。
防止多个实例同时运行
防止多个实例同时运行,全部源码演示 防止多个实例同时运行,全部源码演示
设置同时运行多个项目
打开C盘 --> WINDOWS --> system32 --> drivers --> etc --> 打开hosts文件 127.0.0.1 //ip地址 localhost //访问项目的名称 然后在 tomcat --> conf -->server.xml 里配置多个项目文件就可以了 紫色头发:http://zisetoufa.iteye.com...
C# 同时运行多个 Task
public static async Task<int> CalcAsync(int wait, int shit) { await Task.Run(() => Thread.Sleep(wait)); return shit; } public static as...
同时运行多个python文件
#!/bin/sh ps -ef | grep python | cut -c 9-15| xargs kill -s 9 python a.py > logs/a.log & python b.py > logs/b.log & python c.py > logs/c.log
jre+多个tomcat同时运行
怎么配置jre或者配置tomcatrn能让tomcat正常运行 且支持多个tomcat同时运行?rn[color=#FF0000]注:这里不安装jdk,只装jre![/color]rn求教!
application如何自动运行?
我做了一个java applicationrn如何能让他随系统启动rn或者能自动运行
java application如何运行?
图形界面的java application如何运行,我可以编译,但运行时有如下错误rnException in thread "main" java.lang.NoSuchMedthodError:main
如何运行Application?
用JB9写的Application如果不用JB生成可执行jarrnrn自己在命令行下操作应该如何?
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件