2012-09-03 58 views
3

我使用python与hadoop流。尽管仔细的单元测试,错误难免蠕变当他们这样做,此错误消息是所有的Hadoop得出:有没有办法从hadoop流中的python脚本中获取信息错误?

java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1 
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:362) 
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:576) 
... 

的消息对于调试非常无益的。

有没有什么办法可以获得信息性的错误从hadoop流python脚本?

+0

您是否找到解决方案? – pratiklodha

回答

2

如果您有权访问正在运行的集群的jobtracker,则可以通过查找作业并查找失败的任务来获取脚本的stderr/stdout。

+0

我应该在哪里看?我在EC2上运行自己的集群,但是它不报告stderr/stdout,或者我查找的地方不对。 – Abe

+0

你是否知道你正在运行求职者的节点的IP和/或主机名?通常情况下,您可以通过端口50030上的浏览器进行访问,但防火墙有时会阻止该端口。另一种选择是,如果您知道给定任务失败的节点,则可以访问该节点并查找作业日志。确切的目录将取决于您使用的是哪个hadoop软件包。 –

+0

我可以在端口50030处进入jobtracker。我可以看到管理页面,作业页面,甚至任务页面,但不会加载日志。 – Abe

相关问题