问题标签 [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.

0 投票
1 回答
3205 浏览

apache-spark - Spark 独立连接驱动程序到工作人员

我正在尝试在本地托管一个 spark 独立集群。我在 LAN 上连接了两台异构机器。下面列出的每个架构都在 docker 上运行。我有以下配置

  • 机器 1 上的主机(端口 7077 暴露)
  • 机器 1 上的工人
  • 机器 2 上的驱动程序

我使用一个测试应用程序来打开一个文件并计算它的行​​数。当文件复制到所有工作人员和我使用时,该应用程序工作SparkContext.readText()

但是,当我用来在工作人员上访问文件时,当文件仅存在于工作人员上时SparkContext.parallelize(),我有以下显示:

在没有实际计算应用程序的情况下不断重复。

当我将驱动程序与工人放在同一台电脑上时,这是可行的。所以我猜想在网络上的这两个之间存在某种连接。您是否知道这样做的方法(要打开哪些端口,要在 /etc/hosts 中添加哪个地址...)

0 投票
0 回答
861 浏览

apache-spark - Spark 独立模式,应用程序运行,但执行程序被 exitStatus 1 杀死

我是 Apache Spark 的新手,并试图在我的本地 spark 设置上运行示例 Pi 计算应用程序(使用独立集群)。Master、Slave 和 Driver 都在我的本地机器上运行。

我注意到的是,PI 计算成功,但是在从属日志中,我看到 Worker/Executor 被 exitStatus 1 杀死。否​​则我没有看到任何错误/异常记录到控制台。我尝试在类似问题上寻求帮助,但大多数搜索命中都是指 exitStatus 137 等(例如:Spark application kills executor

我悲惨地无法理解为什么 Worker 被杀死而不是在 ' EXITED' 状态下完成执行。我认为这与我执行应用程序的方式有关,但不太清楚我做错了什么。有人可以指导我找出根本原因吗?

下面给出的是我用于 PI 计算的代码以及主、从、驱动程序的日志。

PI 计算应用程序

主控台输出

从控制台输出

驱动程序控制台输出

0 投票
1 回答
1724 浏览

apache-spark - SPARK_WORKER_CORES 设置如何影响 Spark Standalone 中的并发性

我正在使用以独立模式配置的 Spark 2.2.0 集群。Cluster 有 2 台八核机器。该集群专门用于 Spark 作业,没有其他进程使用它们。我有大约 8 个 Spark Streaming 应用程序在这个集群上运行。
我明确地将 SPARK_WORKER_CORES(在 spark-env.sh 中)设置为 8,并使用 total-executor-cores 设置为每个应用程序分配一个核心。此配置降低了在多个任务上并行工作的能力。如果一个阶段在具有 200 个分区的分区 RDD 上工作,则一次只执行一个任务。我希望 Spark 做的是为每个作业和进程并行启动单独的线程。但我找不到单独的 Spark 设置来控制线程数。
因此,我决定尝试将每台机器上的核心数量(即 spark-env.sh 中的 SPARK_WORKER_CORES)增加到 1000 个。然后我为每个 Spark 应用程序分配了 100 个内核。我发现这次 spark 开始并行处理 100 个分区,这表明正在使用 100 个线程。
我不确定这是否是影响 Spark 作业使用的线程数的正确方法。

0 投票
0 回答
506 浏览

hadoop - 无法将 spark 独立应用程序与 kerberized hadoop 连接

我正在使用 Spark 独立 1.6.x 版本来连接启用了 kerberos 的 hadoop 2.7.x

但低于例外

用户:abc@REALM (auth:KERBEROS) 原因:java.io.IOException:本地异常失败:java.io.IOException:org.apache.hadoop.security.AccessControlException:客户端无法通过:[TOKEN,KERBEROS] 进行身份验证; 主机详细信息:本地主机为:“hostname1/0.0.0.0”;目标主机是:“hostname2”:8020;在 org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:772) 在 org.apache.hadoop.ipc.Client.call(Client.java:1472) 在 org.apache.hadoop.ipc.Client.call (Client.java:1399) 在 org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232) 在 com.sun.proxy.$Proxy44.create(Unknown Source) 在 org.apache.hadoop。 hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.create(ClientNamenodeProtocolTranslatorPB.java:295) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun。

0 投票
1 回答
142 浏览

apache-spark - 是否可以让 Spark 在单个执行程序上运行整个任务集?

我在本地集群(1 个 master-2workers/executors)上运行一个 spark 作业。

据我所知,工作的所有阶段都分为任务。每个阶段都有自己的任务集。这个TaskSet的每一个任务都会被调度到本地集群的一个executor上。

我想让 Spark 的 TaskSetManager 在同一个(本地)执行程序上安排一个 TaskSet(单个阶段)的所有任务,但我还没有想出如何做到这一点。

谢谢,吉姆

0 投票
0 回答
419 浏览

apache-spark - Spark master 不断为不存在的驱动程序启动执行程序

Spark 应用程序以独立集群模式部署,并启用了监督。

在高可用性测试期间,当带有驱动程序实例的机架(不正常)断电时,spark master 不知道被杀死的驱动程序和应用程序,并且 master 持续为应用程序启动执行程序大约 15 分钟。

masterlogs(下面记录了 15 分钟)

2018-03-09 18:09:02 INFO org.apache.spark.internal.Logging$class:54 - Launching executor app-20180309175053-0002/5202 on worker worker-20180309171520-10.247.247.191-51426 2018-03-09 18:09:02 INFO org.apache.spark.internal.Logging$class:54 - Removing executor app-20180309175053-0002/5153 because it is EXITED 2018-03-09 18:09:02 INFO org.apache.spark.internal.Logging$class:54 - Launching executor app-20180309175053-0002/5203 on worker worker-20180309171632-10.247.247.156-57784 2018-03-09 18:09:02 INFO org.apache.spark.internal.Logging$class:54 - Removing executor app-20180309175053-0002/5155 because it is EXITED 2018-03-09 18:09:02 INFO org.apache.spark.internal.Logging$class:54 - Launching executor app-20180309175053-0002/5204 on worker worker-20180309123802-10.247.247.121-45652 2018-03-09 18:09:02 INFO org.apache.spark.internal.Logging$class:54 - Removing executor app-20180309175053-0002/5157 because it is EXITED

第 15 分钟后

2018-03-09 18:09:16 WARN org.apache.spark.internal.Logging$class:66 - Got status update for unknown executor app-20180309175053-0002/5282 2018-03-09 18:09:16 WARN org.apache.spark.internal.Logging$class:66 - Got status update for unknown executor app-20180309175053-0002/5295 2018-03-09 18:09:16 WARN org.apache.spark.internal.Logging$class:66 - Got status update for unknown executor app-20180309175053-0002/5296 2018-03-09 18:09:16 WARN org.apache.spark.internal.Logging$class:66 - Got status update for unknown executor app-20180309175053-0002/5289 2018-03-09 18:09:16 WARN org.apache.spark.internal.Logging$class:66 - Got status update for unknown executor app-20180309175053-0002/5277

执行者日志 2018-03-09 18:50:17 INFO org.apache.spark.internal.Logging$class:54 - Asked to kill executor app-20180309180931-0004/50 2018-03-09 18:50:17 INFO org.apache.spark.internal.Logging$class:54 - Runner thread for executor app-20180309180931-0004/50 interrupted 2018-03-09 18:50:17 INFO org.apache.spark.internal.Logging$class:54 - Killing process! 2018-03-09 18:50:17 INFO org.apache.spark.internal.Logging$class:54 - Executor app-20180309180931-0004/50 finished with state KILLED exitStatus 143

我检查了火花代码,在那里找不到太多东西。

任何帮助表示赞赏,谢谢。

0 投票
0 回答
612 浏览

scala - Spark 独立集群主 url 更改

我正在尝试在 Azure 云 VM 中设置 Spark 独立集群。Spark 2.2 设置已完成。如果我启动 master (start-master.sh),我可以在 web ui 中看到 master URL。但是那个 spark master url 有那个 VM 的主机名而不是 IP 地址。VM IP 有私有和公共,我正在尝试使用公共 IP 配置主 url,以便其他客户端可以访问。

我希望如果 Spark 主机包含 IP 地址而不是主机名,那么我的应用程序可以访问主机。我尝试按照在线表格中提到的几个步骤进行操作,但没有任何效果

选项:1 我在 sbin 文件夹下创建了 spark-env.sh 并添加了 SPARK_MASTER_HOST=xxxx,但遇到了同样的问题。

选项:2

在启动 master 时,我已将主机名作为参数传递,spark-master.sh -h xxxx 但同样的错误

错误

如何更改火花大师网址?

0 投票
1 回答
300 浏览

apache-spark - Azure VM 中的 Spark Master IP 配置

我正在 Azure VM 中设置独立的 Spark 集群。我想使用 Azure VM 的公共 IP 而不是 VM 的主机名运行 Spark master,以便我可以从其他 VM 访问。

Spark版本:spark-2.2.0-bin-hadoop2.7

我在 conf 文件夹下创建了新文件“spark-env.sh”并添加了export SPARK_MASTER_HOST=xxxx

启动master sbin>./start-master.sh

我收到下面提到的错误。Spark master 未启动。

如何为 Spark Master 设置公共 IP 地址?

错误日志

0 投票
0 回答
46 浏览

amazon-web-services - Spark 初始作业不接受资源 Amazon EC2 独立集群

因此,我使用 Terraform 将独立集群部署到 Amazon EC2。它使用无密码 ssh 与工作人员通信。

我使用 start master 脚本启动 master,将集群的公共 ip 设置为 ec2 实例的公共 dns。

然后,我使用 start-slaves 脚本启动从属服务器,复制了一个 config/slaves 文件,其中包含可用于运行工作程序的 2 个 EC2 实例的公共 IP 地址。(他们每个人都在与主人相同的位置部署了火花)

在 UI 中,工作人员已注册并运行: 在此处输入图像描述 但是,当我向集群提交任何作业时,它永远无法分配显示消息的资源: 在此处输入图像描述

有谁知道如何解决这个问题?

日志显示工作人员正确启动和注册,并且我提交的任务在可用资源范围内。(已尝试低至 1 个 cpu 核心和 500mb)。

有谁知道为什么任务可能不被接受?

干杯

0 投票
1 回答
846 浏览

performance - Spark 在独立而不是 YARN 中工作得更快

想要一些关于独立和纱线火花执行的见解。我们有一个 4 节点 cloudera 集群,目前我们的应用程序在 YARN 模式下运行时的性能不到我们在独立模式下执行时获得的性能的一半。是否有人对可能导致此问题的因素有所了解。