我有一个简单的hadoop集群,由一个主节点和两个从节点组成。我安装了spark,我试图从spark示例中运行建议的示例作业:
./bin/run-example SparkPi 10
看起来好像所有内容都已正确提交,并且作业状态已更新为ACCEPTED,但它仍处于此状态。在检查输出时,我发现了以下内容:
2018-05-21 16:27:41 INFO Client:54 - Application report for
application_1526910547092_0004 (state: ACCEPTED)
2018-05-21 16:27:41 INFO Client:54 -
client token: N/A
diagnostics: [Mon May 21 16:27:40 +0200 2018] Application is added to the scheduler and is not yet activated. Skipping AM assignment as cluster resource is empty. Details : AM Partition = <DEFAULT_PARTITION>; AM Resource Request = <memory:1024, vCores:1>; Queue Resource Limit for AM = <memory:0, vCores:0>; User AM Resource Limit of the queue = <memory:0, vCores:0>; Queue AM Resource Usage = <memory:0, vCores:0>;
ApplicationMaster host: N/A
ApplicationMaster RPC port: -1
queue: default
start time: 1526912860005
final status: UNDEFINED
tracking URL: http://vm-10-155-208-189:8088/proxy/application_1526910547092_0004/
user: root
具体如下:应用程序已添加到调度程序中,尚未激活。跳过AM分配为群集资源为空。详情:AM Partition =; AM资源请求=; AM =的队列资源限制;队列的用户AM资源限制=;队列AM资源使用=;
所以似乎暗示我对可用内存设置了0的限制,对于vCores限制为0?
我的机器每个都有8GB的RAM,每个可用空间至少有20GB,所以我不确定为什么这个工作从未实际分配任何资源呢?
同样地,我无法启动spark-shell,它只是在输入命令后永久挂起。
我必须配置错误但我不确定是什么。在Hadoop资源管理器中,我可以看到作业,它显示每台机器都有足够的资源,所以我不明白导致问题的原因。
编辑:
从资源管理器添加了屏幕截图。这是否意味着我需要将条目更改为更高的数字?如果是这样,我该怎么做?
答案 0 :(得分:0)
我能够通过注意到在Hadoop Web UI中我的datanode显示为活动但在资源管理器中没有显示活动节点来解决此问题。
通过将namenode和所有datanode上的yarn-site.xml修改为以下内容来修复问题:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
</configuration>