gpt4 book ai didi

hadoop - 如何使用log或Eclipse-hdt调试mapreduce(hadoop-2.5.1)程序?

转载 作者:行者123 更新时间:2023-12-02 21:42:59 25 4
gpt4 key购买 nike

我正在尝试调试map-reduce程序,并且发现它很头疼。我尝试了this,但没有用,因为我使用的是eclipse hdt插件,并且不使用hadoop jar XXX命令。所以我尝试用日志进行调试。

我都尝试过

public static final Log LOG = LogFactory.getLog(Reduce.class);

LOG.debug("XXX");





System.out.println("XXX");



根据stackoverflow上的 this post,假设我应该在 $HADOOP_HOME/logs/userlogs/XXX上找到日志,但是我发现该文件夹为空。我认为这可能是因为我使用的hadoop是2.x,但是建议的答案使用0.x。我也可能没有完全设置hadoop。

我还在该帖子中尝试了接受的答案。但是,我无法访问 http://localhost:50030/jobtracker.jsp。不知道为什么也不。

有什么建议么?除了如何使用日志进行调试之外,还赞赏使用eclipse-hdt的简单解决方案。

最佳答案

使用ResourceManager的用户界面:

如果您在集群中运行YARN,那么集群中将不会运行JobTracker,因此您将无法访问http://localhost:50030/jobtracker.jsp,而是将运行ResourceManager,并且可以通过访问http://RESOURCE_MANAGER_HOST:8088/cluster来访问ResourceManager的网页(将RESOURCE_MANAGER_HOST替换为ResourceManager的IP地址)。

在ResourceManager的网页上,您可以访问集群中所有正在运行并已完成的应用程序,可以单击要访问的单个application_id,从那里您将能够看到logs的链接,您可以如果使用http://RESOURCE_MANAGER_HOST:8088/cluster/app/APPLICATION_ID(也可以将APPLICATION_ID替换为分配给您的mapreduce作业的应用程序ID),也可以访问该页面以获取单个application_id。

使用CLI :

从命令行,如果您知道application_id,则可以使用以下命令来检索特定应用程序的日志:

yarn logs -applicationId APPLICATION_ID

注意:将APPLICATION_ID替换为为mapreduce作业分配的自己的应用程序ID。

进一步阅读:

另外,请通过 pivotalhortonworks查看以下链接,以了解如何在YARN中管理日志。

关于hadoop - 如何使用log或Eclipse-hdt调试mapreduce(hadoop-2.5.1)程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com