`

spark-spawn a app via spark-shell VS spark-submit

 
阅读更多

  yep,u can submit a app to spark ensemble by spark-submit command ,e.g.

spark-submit  --master spark://gzsw-02:7077 --class org.apache.spark.examples.JavaWordCount --verbose --deploy-mode client ~/spark/spark-1.4.1-bin-hadoop2.4/lib/spark-examples-1.4.1-hadoop2.4.0.jar spark/spark-1.4.1-bin-hadoop2.4/RELEASE,spark/spark-1.4.1-bin-hadoop2.4/README.md

 

  but also,u can spawn a command to run a app via spark-shell,

spark-shell --jars lib/spark-examples-1.4.1-hadoop2.4.0-my.jar --master spark://gzsw-02:7077 --executor-memory 600m --total-executor-cores 16 

   note:this param total-executor-cores is a must,else u will get a java.lang.OutOfMemoryError: Java heap space exception after this log

 

15/11/25 12:08:17 INFO SparkDeploySchedulerBackend: Registered executor: AkkaRpcEndpointRef(Actor[akka.tcp://sparkExecutor@192.168.100.13:56889/user/Executor#-1124709965]) with ID 0

 after than ,i check the master ui,i found that the app's cores shown as the max integer value(2147483647).so u can add this property to set used cores right.

 

  second,if u want to limit the executors to run ,u can specify this property to chieve that

set in spark-defaults.conf

spark.deploy.spreadOut=false

  (but with spark-class command ,this will be a side affect:it maybe cause the same effect with "java heap space" exceptions like above,so comment it is better in this case)

 

  then ,u can import the entry class of your app like this 

import class.to.your.appentry

  followed by invoking the entry method

val arr = ...//params for running this app
JavaWordCount.main(arr)

   but in this demo,the app will issue a new sparkcontext which differs with the default one initiated by spark-shell,so launcher will fail to complain :

WARN SparkContext: Multiple running SparkContexts detected in the same JVM!

  so u can add a property below in the spark-defaults.conf to ignore it

spark.driver.allowMultipleContexts=true

   after all,u will the app is launched same as command spark-submit.

 

ref:

spark-basic demo from book 'learning spark'

0
1
分享到:
评论

相关推荐

    Laravel开发-laravel-app-spawn

    在本文中,我们将深入探讨Laravel开发中的"laravel-app-spawn",这是一个用于创建自定义应用程序实例引导的工具。Laravel是PHP框架中的佼佼者,以其优雅的语法、强大的功能和高效的开发流程而备受开发者喜爱。...

    前端开源库-cross-spawn-with-kill

    "cross-spawn-with-kill"就是一个这样的工具,专为了解决跨平台进程管理的问题。这个库是针对Node.js环境设计的,它扩展了原生的`child_process.spawn`方法,并添加了对进程终止(kill)的支持,确保在各种操作系统...

    前端开源库-svn-spawn

    在【node-svn-spawn-master】这个压缩包中,包含了svn-spawn库的源码,你可以通过阅读和学习源码来了解其内部工作原理,或者直接在自己的项目中安装和使用。安装步骤通常是使用npm(Node.js包管理器)进行,例如: `...

    前端开源库-easy-spawn

    在压缩包`node-easy-spawn-master`中,通常包含了`easy-spawn`库的源代码、文档、示例以及测试用例等资源。你可以通过阅读源码来了解其内部实现,也可以参考文档中的示例快速上手使用。如果遇到问题,测试用例也是一...

    前端开源库-better-spawn

    **前端开源库-better-spawn** `better-spawn` 是一个专为前端开发者设计的开源库,其核心功能是提供了一种更优雅、更可控的方式来执行子进程(child process)。在Node.js环境中,我们常常需要运行命令行工具,如...

    node-cross-spawn:针对节点的spawn和spawnSync的跨平台解决方案

    节点的spawn和spawnSync的跨平台解决方案。 安装 Node.js版本8及更高版本: $ npm install cross-spawn Node.js版本7及以下版本: $ npm install cross-spawn@6 为什么 在Windows上使用Spawn时,节点出现问题: ...

    前端开源库-easy-spawn.zip

    "easy-spawn" 是一个前端开发中常用的开源库,它主要解决了Node.js环境中跨平台地执行子进程(spawn)操作的问题。在Node.js中,原生的`child_process`模块提供了spawn方法,用于启动子进程,但直接使用时可能会遇到...

    前端开源库-cross-spawn-with-kill.zip

    "cross-spawn-with-kill"是一个针对Node.js的开源库,旨在解决在不同操作系统上跨平台地执行子进程以及优雅地管理这些子进程的终止问题。 `cross-spawn`是这个库的核心部分,它是对Node.js内置的`child_process....

    rubygem-sensu-spawn-2.2.1-2.el7.noarch.rpm

    官方离线安装包,亲测可用

    cross-spawn-with-kill:向跨生成进程添加跨平台终止功能

    交叉杀戮 向跨生成进程添加跨平台... npm install --save cross-spawn-with-kill 用法 const spawn = require ( 'cross-spawn-with-kill' ) const child = spawn ( 'webpack' ) child . kill ( ) // <-- that's t

    linux-Spawn特定kubectl上下文集群的一个shell

    在标题“linux-Spawn特定kubectl上下文集群的一个shell”和描述“Spawn特定kubectl上下文(集群)的一个shell”中,我们关注的是如何在特定的kubectl上下文中启动一个新的shell会话,以直接与Kubernetes集群进行交互...

    前端开源库-gulp-spawn

    前端开源库-gulp-spawnGulp Spawn,Gulp的Spawn插件

    Laravel开发-spawn

    在提供的压缩包子文件列表中,"spawn-master"可能是一个项目的主分支或者是仓库名,这通常意味着包含了一个完整的Laravel项目或者工具的源代码。在这个目录下,你可能会找到如`app/`, `database/`, `public/`, `...

    前端开源库-svn-spawn.zip

    "svn-spawn.zip"这个压缩包可能包含了一个名为"svn-spawn"的前端开源库,它可能是针对版本控制系统Subversion(SVN)的一个扩展或者工具。下面我们将详细探讨前端开发、Subversion以及如何利用开源库进行开发。 ...

    cross-spawn-windows-exe:跨平台支持通过Node.js运行Windows可执行文件

    cross-spawn-windows-exe 跨平台支持,可通过Node.js运行Windows可执行文件。 利用 (扩展名为 )来执行Windows可执行文件,而不管平台如何。 对于所有平台,都需要节点10或更高版本。 在非Windows非WSL主机系统上,...

    await-spawn:包裹在Promise中的child_process.spawn()

    安装$ npm i await-spawn -S用法const spawn = require ( 'await-spawn' )const main = async ( ) => { try { const bl = await spawn ( 'ls' , [ '-al' ] ) console . log ( bl . toString ( ) ) } catch ( e ) { ...

    dock-spawn-ts:TypeScript HTML对接框架(Dock-spawn的叉子)

    Dock-spawn的TypeScript版本(请参阅 ) 主页位于 信息 Dock Spawn TS是一个Typescript Docking框架,用于创建类似HTML的IDE的Visual Studio。 es5版本 lib / es5目录中有一个ES5版本。用法示例在page / demo / ...

    Windows的版的spawn-fcgi

    spawn-fcgi-master 是 spawn-fcgi 的官方源码,但是不能在 windows 中编译。 spawn-fcgi-win32.c 是 windows 版源码,使用 MinGW 编译:命令行输入 “gcc spawn-fcgi-win32.c -lwsock32”即可无优化地编译, 懒得...

    object-to-spawn-args:将选项对象转换为适合传递给child_process.spawn()的数组

    > const objectToSpawnArgs = require ( 'object-to-spawn-args' ) > const spawnArgs = objectToSpawnArgs ( { l : true , c : 'red' , name : 'pete' , tramp : true } ) > console . log ( spawnArgs ) [ '-...

    rn-spawn-component:添加和删除本机组件

    :sparkles: 可以在此仓库中找到带有代码示例的完整演示: : 安装yarn add rn-spawn-componentornpm i rn-spawn-component用法SpawnProvider必须包装您的App import { SpawnProvider , SpawnController , AddSpawn }...

Global site tag (gtag.js) - Google Analytics