2
我在Amazon EMR上有一个长时间运行的Hadoop流式作业(15节点,> 1.5小时)。这项工作的失败率约为75%。我为mapper和reducer使用Python。确保Hadoop EMR上的日志
我已经做了如下优化:
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
sys.stderr = os.fdopen(sys.stderr.fileno(), 'w', 0)
logging.getLogger().setLevel(logging.INFO)
此外,我增加了以下只是发出带有logging
模块日志条目:
sys.stderr.flush()
time.sleep(30)
sys.exit(3)
,试图捕捉错误不得要领:Hadoop的日志文件不显示我的错误:(
我怎样才能让Hadoop记录我的消息,而不是丢弃任何???
是的,你可以在S3上指定一个日志文件夹,但麻烦的是我没有得到所有的日志消息。 – jldupont