问题标签 [apache-spark-standalone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - 工人、工人实例和执行者之间的关系是什么?
在Spark Standalone 模式下,有主节点和工作节点。
这里有几个问题:
- 2 个工作实例是否意味着一个具有 2 个工作进程的工作节点?
- 是每个工作程序实例都为特定应用程序(管理存储、任务)持有一个执行程序,还是一个工作程序节点持有一个执行程序?
- 是否有解释 spark 在运行时如何工作的流程图,例如字数?
apache-spark - 我应该为 Spark 选择哪种集群类型?
我是 Apache Spark 的新手,我刚刚了解到 Spark 支持三种类型的集群:
- 独立 - 意味着 Spark 将管理自己的集群
- YARN - 使用 Hadoop 的 YARN 资源管理器
- Mesos - Apache 的专用资源管理器项目
我想我应该先试试Standalone。将来,我需要构建一个大型集群(数百个实例)。
我应该选择哪种集群类型?
apache-spark - Spark master 机器上 Executors 的角色
在 Spark 独立集群中,Master 节点是否也运行任务?我不确定是否有 Executors 进程在 Master 节点上启动并与 Worker 节点一起工作。
谢谢!
hadoop - 了解 Spark:Cluster Manager、Master 和 Driver 节点
读完这个问题后,我想问更多问题:
- Cluster Manager 是一个长时间运行的服务,它运行在哪个节点上?
- Master和Driver节点是否可能是同一台机器?我认为应该在某处有一条规则说明这两个节点应该不同?
- 如果 Driver 节点发生故障,谁负责重新启动应用程序?究竟会发生什么?即主节点、集群管理器和工人节点将如何参与(如果他们参与),以及以什么顺序参与?
- 与上一个问题类似:万一Master节点发生故障,究竟会发生什么,谁负责从故障中恢复?
apache-spark - Spark master 失败时会发生什么?
驱动程序是否需要持续访问主节点?还是只需要获得初始资源分配?如果在 Spark 上下文创建后 master 不可用会发生什么?这是否意味着申请将失败?
apache-spark - Spark Streaming - StandAlone Mode(清理不删除每个批次的每个应用程序的工作文件夹中的数据)
在 Streaming 中将这些参数设置如下 spark.worker.cleanup.enabled true spark.worker.cleanup.interval 60 spark.worker.cleanup.appDataTtl 90
这将清除 work/app-2016*/(1,2,3,4,5,6,...) 文件夹中已终止的 spark 批处理/流式传输作业数据。但是在运行 Spark Streaming 作业时,当前 app-* 中的历史数据不会被删除。由于我们使用的是 Kafka-Spark 连接器 jar,因此对于每个微批次,它都会使用 app jar 和 stderr 复制这个 jar,每个文件夹上的标准输出结果(work/app-2016*/(1,2,3,4,5,6, ...) . 这本身就占用了大量内存,因为 Kafka-Spark 连接器是一个超级 jar,大约 15 MB,一天之内就达到 100 GB。
有没有办法从当前正在运行的 Spark Streaming 作业中删除数据,或者我们应该为此编写一些脚本......?
apache-spark - Continuously INFO JobScheduler:59 - 在我的 Spark 独立集群中添加时间 *** ms 的作业
我们正在使用具有 8 个内核和 32GB 内存的 Spark 独立集群,以及具有相同配置的 3 个节点集群。
有时流式批处理在不到 1 秒的时间内完成。有时需要超过 10 秒的时间,下面的日志会出现在控制台中。
你能帮忙吗,如何解决这个问题。
apache-spark - Spark 资源调度 - 独立集群管理器
对于在 Spark 中开发的数据管道,我的测试机器配置非常低。我将只使用一个 AWS t2.large 实例,它只有 2 个 CPU 和 8 GB RAM。
我需要运行 2 个 spark 流作业,并留出一些内存和 CPU 资源用于偶尔测试批处理作业。
所以我有主人和一名工人,他们在同一台机器上。
我有一些一般性问题:1)每个工人可以运行多少个执行器?我知道默认值是 1,但是更改它是否有意义?
2)一个执行器可以执行多个应用程序,还是一个执行器只专用于一个应用程序?
3) 是否有一种方法可以使这项工作,设置应用程序可以在配置文件中使用的内存,或者当我创建火花上下文时?
谢谢
apache-spark - Apache Spark:客户端和集群部署模式的区别
TL;DR:在 Spark Standalone 集群中,客户端和集群部署模式有什么区别?如何设置我的应用程序将在哪种模式下运行?
我们有一个包含三台机器的 Spark Standalone 集群,它们都使用 Spark 1.6.1:
- 一台主机,这也是我们的应用程序运行的地方
spark-submit
- 2台相同的工人机器
从Spark 文档中,我读到:
(...) 对于独立集群,Spark 目前支持两种部署模式。在客户端模式下,驱动程序与提交应用程序的客户端在同一进程中启动。然而,在集群模式下,驱动程序是从集群内的一个 Worker 进程启动的,并且客户端进程在完成提交应用程序的职责后立即退出,而无需等待应用程序完成。
但是,通过阅读本文,我并没有真正了解实际差异,也不知道不同部署模式的优缺点是什么。
此外,当我使用 start-submit 启动我的应用程序时,即使我将属性设置spark.submit.deployMode
为“cluster”,我的上下文的 Spark UI 也会显示以下条目:
所以我无法测试这两种模式以查看实际差异。话虽如此,我的问题是:
1)Spark Standalone客户端部署模式和集群部署模式的实际区别是什么?使用每一个的优点和缺点是什么?
2)我如何选择我的应用程序将在哪一个上运行,使用spark-submit
?
apache-spark - 从不同的 Spark 版本访问 spark-shell
TL;DR:运行 spark-shell(驱动程序)的 Spark 是否绝对有必要与 Spark 的 master版本完全相同?
我正在使用Spark 1.5.0通过 spark-shell连接到Spark 1.5.0-cdh5.5.0 :
它连接、实例化 SparkContext 和 sqlContext 很好。如果我运行:
它按预期显示了我的所有表格。
但是,如果我尝试从表中访问数据:
我收到此错误:
它说serialVersionUID不匹配。我的假设是这个问题是由试图连接两个不同版本的 spark 引起的。如果我是对的,有什么想法吗?