hadoop - 记录hadoop map进程

标签 hadoop

我正在研究 hadoop。我有 100k Zip 文件并使用 mapreduce 处理文件 但是现在我有一项任务需要跟踪一些日志。

1.Zip文件处理 2. zip文件需要处理 3. 进程状态,如错误或成功

我是用下面的方法来做的

catch (Exception Ex)
        {
            System.out.println("Killing task ");
            runningJob.killTask((TaskAttemptID)context.getTaskAttemptID(), true);

        }

像这样。但是现在我需要把它存放在一个公共(public)的地方

我该怎么做

我想将它存储在 Hbsae 中。欢迎提出想法 请帮助我

最佳答案

这里有一些想法:

  1. 使用自定义任务计数器。 http://lintool.github.io/Cloud9/docs/content/counters.html它们非常轻巧,是跟踪小值的好方法。

  2. 如果您需要记录更多细节。有两种方法可以做到这一点。首先,您可以只输出日志语句作为 map 作业的一部分。然后使用两个简单的过滤器(映射作业)拆分管道。第一个过滤器将获取您的 zip 处理的输出并将插入您的管道的其余部分,第二个过滤器将获取日志语句并将它们保存到单独的位置,以供进一步分析。

    使用 HBase 也可以,但会带来额外的复杂性并在集群上使用更多资源。除非您已经将 HBase 作为管道的一部分。

关于hadoop - 记录hadoop map进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20426844/

相关文章:

hadoop - Apache Spark 将文件与 SQL 数据进行比较

java - 用于Spark提交的本地或远程jar

mongodb - 是否可以将数据库直接从 HDFS 作为 DataFrame 加载到 spark 中?

java - 在 Hadoop 中选择不同的记录并使用组合器

hadoop - 用于安装HAWQ插件的兼容Hortonworks Data Platform(HDP)版本是什么

hadoop - Spark 中的part-r-xxxxx 文件

hadoop - 如何获取 hdfs 中的 hive 表输出或文本文件,在 hdfs 上创建了 .CSV 格式的 hive 表。

linux - 在 OpenStack 上安装 Apache Hadoop

caching - Hadoop 分布式缓存大小的限制是多少?

hadoop - AWS S3上的HBase HFile损坏