edw*_*ean 64 apache-spark apache-spark-standalone
在Spark Standalone模式下,有主节点和工作节点.
这里有几个问题:
Sea*_*wen 51
我建议首先阅读Spark集群文档,但更重要的是这个Cloudera博客文章解释了这些模式.
您的第一个问题取决于"实例"的含义.节点是一台机器,并没有充分的理由为每台机器运行多个工作程序.因此,两个工作节点通常意味着两台机器,每台机器都是Spark工作
对于许多应用,工人拥有许多执行者.一个应用程序在许多工作者上有执行者.
你的第三个问题不明确.
mrs*_*vas 36
在Spark Standalone模式下,有主节点和工作节点.
如果我们在一个地方为独立模式代表主人和工人.
如果您对Spark如何与YARN合作感到好奇?查看这篇文章Spark on YARN
1. 2个工作者实例是指一个具有2个工作进程的工作节点吗?
通常我们将worker实例称为slave,因为它是执行spark任务/作业的过程.建议的节点(物理或虚拟机)和工作人员的映射是,
1 Node = 1 Worker process
Run Code Online (Sandbox Code Playgroud)
2.每个工作实例是否为特定应用程序(管理存储,任务)或一个工作节点拥有一个执行程序的执行程序?
是的,如果工作节点具有足够的CPU,内存和存储,则它可以拥有多个执行程序(进程).
检查给定图像中的Worker节点.
BTW,给定时间点工作节点中执行程序的数量完全取决于集群上的工作负载和节点运行多少执行程序的能力.
3.是否有流程图解释火花运行时间?
如果我们从一个程序的任何资源管理器中查看Spark预期的执行,那么join
两个rdd
并执行一些reduce
操作filter
HIH
Lan*_*Lan 30
我知道这是一个老问题,肖恩的回答非常好.我的书面记录是关于SPARK_WORKER_INSTANCES在MrQuestion的评论.如果使用Mesos或YARN作为集群管理器,则可以在同一台计算机上使用一个工作程序运行多个执行程序,因此实际上不需要为每台计算机运行多个工作程序.但是,如果使用独立群集管理器,则目前它仍然只允许每台物理计算机上的每个工作进程有一个执行程序.因此,如果您有一台超大型机器并且想在其上运行多个exectuors,则必须启动多个工作进程.这就是spark-env.sh中SPARK_WORKER_INSTANCES的用途.默认值为1.如果使用此设置,请确保明确设置SPARK_WORKER_CORES以限制每个工作程序的核心,否则每个工作程序将尝试使用所有核心.
这种独立的集群管理器限制很快就会消失.根据此SPARK-1706,此问题将在Spark 1.4中修复并发布.
小智 7
正如Lan所说,使用多个工作器实例仅在独立模式下相关.您希望拥有多个实例的原因有两个:(1)垃圾暂停收集器会损害大型JVM的吞吐量(2)堆大小> 32 GB无法使用CompressedOoops
详细了解如何设置多个工作器实例.
归档时间: |
|
查看次数: |
43726 次 |
最近记录: |