当前位置: 首页 > 知识库问答 >
问题:

闲置的火花工人

终洛华
2023-03-14

我已经配置了连接到Cassandra集群的独立spark集群,其中有1个主服务器、1个从服务器和Thrift服务器,该服务器用作Tableau应用程序的JDBC连接器。无论怎样,当我启动任何查询时,从属服务器都会出现在工作者列表中。所有工作负载都由主执行器执行。同样在Thrift web控制台中,我观察到只有一个执行器处于活动状态。

基本上,我希望火花集群的两个执行器上的分布式工作负载能够实现更高的性能。

从主日志:

2019-03-26 15:36:52 INFO Master:54-我已当选领导者!新状态:ALIVE 2019-03-26 15:37:00 INFO Master:54-注册工人工人-ip:37678,16核,61.8 GB RAM

从工作日志:

2019-03-26 15:37:00 信息工作者:54 - 成功注册主 spark://master-hostname:7077

我的火花熄灭了。conf为:

spark.driver.memory=50g
spark.driver.maxResultSize=4g

spark.sql.thriftServer.incrementalCollect=false
spark.sql.shuffle.partition=17
spark.sql.autoBroadcastJoinThreshold=10485760
spark.sql.inMemoryColumnarStorage.compressed=true
spark.sql.inMemoryColumnarStorage.batchSize=10000

spark.cores.max=32
spark.executor.cores=16
spark.memory.offHeap.enabled=true
spark.memory.offHeap.size=1g

pic1工人

pic2 执行器

任何帮助高度赞赏。

共有1个答案

濮阳靖
2023-03-14

当火花没有对工人执行时,有几个主要的嫌疑人需要消除。

  1. 您在Web UI中看到工作人员了吗
  2. 防火墙是否允许您发送实际工作负载并返回响应?有关详细信息,请参阅此现有答案
  3. 奴隶有足够的自由资源来接受这份工作吗?我注意到您需要16个内核,也许这比可用的还要多
  4. 是否需要容量?考虑并行提交多个作业(这些作业需要执行者,并且资源需求足够小),以确保不会“巧合”地避开节点。继续,直到你发现它确实不适合你的主节点

如果所有这些都失败了,可能需要更多的上下文。

  • 您没有共享任何错误消息,在任何地方真的没有错误吗?
  • 你使用什么样的集群(哈多普,梅索斯?
 类似资料:
  • 我正在一个playscala应用程序中从1.6升级到spark 2.0,不太确定如何设置我想要的jar文件。以前会定义一个SparkConf,我可以调用的方法之一是setJars,它允许我指定我想要的所有jar文件。现在我正在使用SparkSession构建器构建我的spark conf和spark上下文,我没有看到任何类似的方法来指定jar文件?我该怎么做? 这是我之前如何创建我的火花会议: 我

  • 这是第二个显然未能启动的工人的日志: Spark命令:/usr/lib/jvm/java-8-openjdk-amd64/bin/java-cp/media/ahmedn1/ahmedn12/Spark/conf/://media/ahmedn1/ahmedn12/Spark/jars/* 17/08/30 12:19:34信息工作者:启动进程名为:28819@Ahmedn1-Inspiron-5

  • 我有一个Spark集群运行在hdfs之上的纱线模式。我启动了一个带有2个内核和2G内存的worker。然后我提交了一个具有3个核心的1个执行器动态配置的作业。不过,我的工作还能运转。有人能解释启动worker的内核数量和为执行者请求的内核数量之间的差异吗。我的理解是,由于执行者在工人内部运行,他们无法获得比工人可用的资源更多的资源。

  • 我使用spark-core 2.0.1版和Scala2.11。我有一个简单的代码来读取一个包含\escapes的csv文件。 null 有人面临同样的问题吗?我是不是漏掉了什么? 谢谢

  • 一些脚本在工作时什么也不做,当我手动运行它们时,其中一个失败了,出现了以下消息: 错误SparkUI:未能绑定SparkUI java.net.bindexception:地址已在使用:服务“SparkUI”在重试16次后失败! 所以我想知道是否有一种特定的方法来并行运行脚本?

  • 我正在使用的,并将其调用为 。 的方差非常高,以至于大约1%的对集(用百分位数方法验证)使得集合中的值总数的20%。如果Spark随机使用shuffle进行分区,那么很有可能会有1%的数据落入同一分区,从而导致工作人员之间的负载不平衡。 有没有办法确保“重”元组在分区中正常分布?我实际上将分成两个分区,和,基于) 给出的 阈值,以便分离这组元组,然后重新分区。 但获得几乎相同的运行时间。负载可能已