热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

spark提交命令详解

本片文章主要结合官网的提交说明进行,详情请看http:spark.apache.orgdocslatestsubmitting-applications.html.

本片文章主要结合官网的提交说明进行,详情请看http://spark.apache.org/docs/latest/submitting-applications.html
./bin/spark-submit \--class --master \--deploy-mode \--conf = \... # other options \[application-arguments]

                          标准格式

spark通过命令行来提交,其中一些参数可以在程序中进行指定

/home/tong/installDirectory/spark-1.4.0-bin-hadoop2.6/bin/spark-submit //提交命令位置的指定

--class com.cloudera.streamDemo.StreamingErrorCount //这个参数可以进行指定jar包的入口位置,不是物理位置

--master spark://spark1:7077 //指定spark执行的master和端口号,可以在程序中SparkConf中进行指定

target/streamDemo-1.0-SNAPSHOT.jar //编译好jar包的位置

/spark/streamData.txt 1//最后的参数为程序执行过程中需要的文件,这里指定的为hdfs中的文件位置,指定参数

其他的一些参数还有:

--conf可以以key=value的形式进行spark提交过程中的任意参数的指定,例如执行的核数,执行的存储空间等等。

--deploy-mode可以部署你的驱动在工作节点上(cluster)或者是作为外部客户端部署在本地(client)。一种普遍的部署策略是从一台在物理上依赖于你的集群worker节点的网关(入口)机器来提交你的应用。在这种模式下,client模式是更为合适的,在client模式中,提交过程(submit process)被当做集群中的一个client,驱动在submit下被直接发送,应用的输入输出被显在控制台,这种模式对于那种涉及到REPL的应用是比较合适的,例如spark-shell下。

此外,如果你的应用是从一台距离你的工作节点很远的机器上提交的,例如你本地的笔记本,那么使用cluster模式是非常普遍的,这种模式可以降低在驱动(drivers)和具体执行机器的中间的网络延迟,特别注意的是,cluster模式当前对于mesos集群是并不支持的。当前仅仅是yarn对于Python应用支持cluster模式。在standalone的cluster模式下,可以指定--supervise参数来确保如果驱动以非0退出码失败的时候,他可以确保驱动的自动重启。当然还可以在submit下指定其他的参数,都是比较简单的。下面是一些事例。

# Run application locally on 8 cores
./bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master local[8] \/path/to/examples.jar \100# Run on a Spark Standalone cluster in client deploy mode
./bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://207.184.161.138:7077 \--executor-memory 20G \--total-executor-cores 100 \/path/to/examples.jar \1000# Run on a Spark Standalone cluster in cluster deploy mode with supervise
./bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://207.184.161.138:7077 \--deploy-mode cluster--supervise--executor-memory 20G \--total-executor-cores 100 \/path/to/examples.jar \1000# Run on a YARN cluster
export HADOOP_CONF_DIR=XXX
./bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master yarn-cluster \ # can also be `yarn-client` for client mode--executor-memory 20G \--num-executors 50 \/path/to/examples.jar \1000# Run a Python application on a Spark Standalone cluster
./bin/spark-submit \--master spark://207.184.161.138:7077 \examples/src/main/python/pi.py \1000





推荐阅读
  • 在本地环境中部署了两个不同版本的 Flink 集群,分别为 1.9.1 和 1.9.2。近期在尝试启动 1.9.1 版本的 Flink 任务时,遇到了 TaskExecutor 启动失败的问题。尽管 TaskManager 日志显示正常,但任务仍无法成功启动。经过详细分析,发现该问题是由 Kafka 版本不兼容引起的。通过调整 Kafka 客户端配置并升级相关依赖,最终成功解决了这一故障。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 本文深入探讨了如何利用Maven高效管理项目中的外部依赖库。通过介绍Maven的官方依赖搜索地址(),详细讲解了依赖库的添加、版本管理和冲突解决等关键操作。此外,还提供了实用的配置示例和最佳实践,帮助开发者优化项目构建流程,提高开发效率。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 深入解析HTTP网络请求API:从基础到进阶的全面指南
    本文全面解析了HTTP网络请求API,从基础到进阶,详细介绍了Android平台上的两种原生API——HttpUrlConnection和HttpClient。这两种API通过对底层Socket的封装,提供了高效、灵活的网络通信功能。文章不仅涵盖了基本的使用方法,还深入探讨了性能优化、错误处理和安全性等方面的高级主题,帮助开发者更好地理解和应用这些工具。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
author-avatar
和尚与尼姑离婚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有