hadoop streaming:如何查看应用日志?
我可以在我的 /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
或者相关的应用程序日志信息呢?
我正在使用 Python
和 hadoop-streaming
。
谢谢!
2 个回答
5
Hadoop会收集错误信息,这些信息可以在Hadoop的地图/减少状态网站上查看。所以你可以直接把信息写到错误输出里。
2
Hadoop流处理使用标准输入和标准输出(STDIN/STDOUT)来在数据处理的两个阶段——映射(mappers)和归约(reducers)之间传递键值对。因此,日志信息需要写入一个特定的日志文件。你可以查看这个示例代码和Python日志记录文档来获取更多细节。此外,这个问题也可能对你有帮助。