hadoop streaming:如何查看应用日志?

2 投票
2 回答
7100 浏览
提问于 2025-04-17 04:59

我可以在我的 /usr/local/hadoop/logs 路径下看到所有的 Hadoop 日志。

但是,我在哪里可以看到应用程序级别的日志呢?比如说:

mapper.py

import logging

def main():
    logging.info("starting map task now")
    // -- do some task -- //
    print statement  

reducer.py

import logging
def main():
    for line in sys.stdin:
        logging.info("received input to reducer - " + line)  
        // -- do some task -- //
        print statement

我在哪里可以看到 logging.info 或者相关的应用程序日志信息呢?
我正在使用 Pythonhadoop-streaming

谢谢!

2 个回答

5

Hadoop会收集错误信息,这些信息可以在Hadoop的地图/减少状态网站上查看。所以你可以直接把信息写到错误输出里。

2

Hadoop流处理使用标准输入和标准输出(STDIN/STDOUT)来在数据处理的两个阶段——映射(mappers)和归约(reducers)之间传递键值对。因此,日志信息需要写入一个特定的日志文件。你可以查看这个示例代码Python日志记录文档来获取更多细节。此外,这个问题也可能对你有帮助。

撰写回答