apache-spark - spark-submit 没有获得提交的资源?
问题描述
- 摘要:我正在使用
spark-submit
将我的应用程序提交到我的 Spark 集群,但分配给我的应用程序的资源与我指定的参数不一致。 - 详细信息:我总是得到 4 个容器和 16 个内核和 74752MB RAM(大约 73G)。当我将
client
模式更改为时cluster
,我得到的只是更少,例如 9 个容器 9 个内核和 45056MB RAM(大约 44GB)。我在cluster:8088
显示应用程序信息的页面上找到了此信息。我还交叉引用了执行程序选项卡,spark:4044
其中执行程序信息显示在 Spark 应用程序中。 - 下面是我使用的代码片段:
spark-submit --master yarn --deploy-mode client --class "$1" target/scala-2.10/recommend-assembly-0.1.jar --executor-cores 8 --num-executor 15 --driver-memory 19g
- 环境信息:纱线上的 Spark1.6,Hadoop2.6。一个由 4 个节点组成的集群(1 个是主节点),每个节点都有 16 核 CPU 和 64GB RAM(尽管我的节点不知何故只能访问 40GB RAM)。
- 我尝试了什么:
- 我尝试修改上述参数(例如 num-executor),我仍然获得相同数量的资源。但是当我更改
client
为时cluster
,分配的资源就更少了。 - 我怀疑某些纱线设置导致了这种情况。而且我发现Apache Hadoop Yarn - Underutilization of cores,但是,在我更改
capacity-scheduler.xml
.
- 我尝试修改上述参数(例如 num-executor),我仍然获得相同数量的资源。但是当我更改
解决方案
我认为你应该了解有关纱线火花的知识,包括容器、舞台、AM 等
推荐阅读
- vue.js - workbox.core.skipWaiting 不是函数(但 workbox.skipWaiting 是)
- android - onTouchEvent() 基于触摸位置
- c++ - opencv的private.hpp是什么?哪个模块包含 private.hpp 文件?
- ios - ITMS-90809:已弃用的 API 使用——Apple 将停止接受使用 UIWebView API 的应用提交
- sql - 如何在 SQL 中获取字符串数据的总和?
- angular - 发生未处理的异常:未在工作区中设置配置“es5”。ng 以 8 角为 es5 服务
- reactjs - React 不会将组件渲染到使用动态路由的 url
- html - 我的 nav ul li 在第一次加载时垂直显示,而不是水平显示
- python - 使用字典选择要运行的函数
- reactjs - 如何在antd中获取嵌套行的索引?