为什么spark任务在单个节点上运行?

 电筒_574 发布于 2023-01-09 17:51

我已经安装了Spark集群.它有4个节点,但是当我在集群上运行SparkPi示例时,只运行一个节点.我该如何解决?

1 个回答
  • 一种可能性是,您正在本地模式下运行该示例.也就是说,该示例根本不使用集群.很容易验证这一点:停止Spark master并查看示例是否仍然有效.

    http://spark.apache.org/docs/latest/submitting-applications.html介绍了如何运行该示例.

    bin/spark-submit \
      --class org.apache.spark.examples.SparkPi \
      --master local \
      /path/to/examples.jar \
      100
    

    你需要替换local类似的东西spark://spark-master.example.com:7077.

    另一种解释可能是由于某种原因只有一名工人与主人有联系.或者,主服务器仅出于某种原因将有限的资源分配给应用程序.您可以在主UI上检查这两个.(http://spark-master.example.com:8080/)

    最后,可能是您的数据被分成太少的分区,并且它们都被一台机器拾取.在上面的例子中,100是分区数.如果省略它,则默认为2.如果您的工作人员拥有2个或更多核心,则可能其中一个核心将获取两个分区.当您查看应用程序UI上执行的阶段时,您可以查看是否是这种情况.(http://localhost:4040/stages)解决方案是增加分区数量.

    2023-01-09 17:52 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有