我是Apache Spark和Cloudera Manager的新手。在运行第一个Spark应用程序时遇到了一些问题。
我的群集中有两个具有RAM和Core的虚拟机:
13.4G / 4个核心作为主节点(node01)
4G / 4核心作为从节点node02
当我跑步时
su - hdfs -c "spark-shell --executor-memory 1G --executor-cores 1 --num-executors 1"
它显示
WARN群集。YarnScheduler:初始作业未接受任何资源。检查您的群集用户界面,以确保工作人员已注册并拥有足够的资源
我不知道在哪里配置这些参数才能通过。
仅供参考,我可以访问http://node01:8088来检查Yarn Web ui上是否有几种资源不可用: 此外,Spark History Server显示执行程序参数几乎全为0。(我不太清楚它们的含义)
有人可以告诉我如何配置此混乱状态,以便我可以平稳地运行spark应用程序吗?
答案 0 :(得分:0)
在Cloudera Manager中,转到“纱线>配置”并搜索以下内容:
容器内存最大值->将此设置为4GB
容器内存->将此设置为16G
最大容器虚拟CPU核心数-> 1
容器虚拟CPU内核-> 4
完成后,重新启动YARN,然后重试运行您的应用程序。
您将为YARN过度配置资源(通过将Container Memory设置为16GB,这意味着您仅为YARN应用程序专用16GB,而只有4GB(用于yarn,其他服务,操作系统...) (在您的工作节点上),但希望您的应用能够运行。如果没有,请尝试将内存从16GB-> 8GB降低,将核心从4-> 2降低。
这将是一本好书:https://www.cloudera.com/documentation/enterprise/5-16-x/topics/cdh_ig_yarn_tuning.html