我有一个8节点的Hadoop集群,每个节点有24个具有超线程的物理内核,因此,48个vCPU和256GB内存。
我正在尝试运行6TB Terasort工作。
问题:当我使用yarn.nodemanager.resource.cpu-vcores = 44(对于OS,DN,RM等48减去4)时,Terasort运行时没有错误。但是,当我尝试使用yarn.nodemanager.resource.cpu-vcores = 88过度订阅CPU时,我会得到几个map并减少错误。
所有地图失败都像“太多的提取失败......”。所有减少错误都像“......#Block没有足够数量的副本......”。
我见过THIS和THIS链接。我检查了我的/ etc / hosts文件,并且还发现了我的net.core.somaxconn内核参数。
我不明白为什么我得到地图并减少过度订阅CPU的故障。
任何提示或建议都会有所帮助,并提前感谢。
我到了“Too many fetch ...”错误的底部。发生的事情是因为在运行我的7TB作业时服务器负载很重(请记住1TB作业总是成功运行),主站和从站之间没有足够的连接。我需要增加主服务器和从服务器之间的监听队列,这可以通过修改名为“somaxconn”的内核参数来完成。
默认情况下,rhel OS中的“somaxconn”设置为128。通过将其提升到1024,7TB terasort作业成功运行而没有失败。
希望这有助于某人。