我使用以下指南设置了一个群集:https://medium.com/@jootorres_11979/how-to-set-up-a-hadoop-3-2-1-multi-node-cluster-on-ubuntu-18-04-2-nodes-567ca44a3b12
目前我有一个datanode和一个master节点。
当我运行hadoop作业时,datanode的网络活动表示它正在发送大量数据,namenode接收这些数据。此外,namenode的cpu得到了充分利用,而datanode的cpu根本没有被使用。如图所示:
这些节点是同一台机器上的虚拟机。这种情况发生在几个不同的脚本中,图中是运行wordcount算法得到的。
为什么不在datanode上执行工作?是什么导致了这样的行为?感谢您的帮助。
1条答案
按热度按时间pxy2qtax1#
根据指南,mapred-site.xml没有改变。这意味着使用默认值。mapreduce.framework.name的默认值为“local”。这意味着所有计算都将在本地执行。这必须改成“Yarn”。
我创建了以下mapred-site.xml
我还必须将yarn-site.xml更改为:
在重启了yarn和hadoop之后,一切都按预期进行了。这项工作是在datanodes上执行的。