gpt4 book ai didi

hadoop - 从 Dataproc 上的 MapReducer 映射器记录日志

转载 作者:可可西里 更新时间:2023-11-01 16:36:24 26 4
gpt4 key购买 nike

我正在尝试退出在 Dataproc 上运行的映射器作业。

遵循建议here ,我简单地定义了一个 log4j 记录器并向它提供了信息:

import org.apache.log4j.Logger;

public class SampleMapper extends Mapper<LongWritable, Text, Text, Text> {
private Logger logger = Logger.getLogger(SampleMapper.class);

@Override
protected void setup(Context context) {
logger.info("Initializing NoSQL Connection.")
try {
// logic for connecting to NoSQL - ommitted
} catch (Exception ex) {
logger.error(ex.getMessage());
}
}

@Override
protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
// mapper code ommitted
}

}

但是我在任何地方都找不到任何日志,不是通过 Dataproc 用户界面,不是通过调用 master 上的 yarn logs,甚至是登录到 worker 实例并在各种合理的搜索中都找不到地方。

我是否缺少任何可以使其正常工作的配置?

从哪里读取默认的 log4j 配置?我如何聚合它?

最佳答案

我很惊讶这没有记录在案,但 Stackdriver 日志记录中提供了来自所有 YARN 容器的日志。在 Cloud Console 中,转到 Stackdriver -> Logging -> Logs,在 Cloud Dataproc Cluster -> cluster name -> cluster uuid 下查找您的集群。然后,选择 yarn-userlogs,其中包括来自所有容器的日志。您可以按应用程序或容器 ID(它们是 json 负载中的字段)进行过滤。

如果您希望 YARN 在集群上为您收集日志,请考虑设置 YARN 日志聚合 ( instructions)。

关于hadoop - 从 Dataproc 上的 MapReducer 映射器记录日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51846467/

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