哪个更适合做日志分析

Which is better for log analysis

我必须使用 Hadoop 相关工具 分析存储在生产服务器上的 Gzip 压缩日志文件。

我无法决定如何做,以及使用什么,以下是我考虑使用的一些方法(欢迎推荐其他方法):

在我可以做任何事情之前,我需要从生产服务器获取压缩文件并处理它们,然后将它们推送到 A​​pache HBase

您提到的每个工具都在做其他事情 -

Flume 是一种分布式、可靠、可用的服务,用于高效收集、聚合和移动大量日志数据

Apache Kafka 是将发布-订阅消息传递重新考虑为分布式提交日志 Map Reduce更多的是处理数据的设计模式。

我的建议是更好地定义您真正要查找的内容并检查相关工具。

你混合了很多相互关联的概念,这些概念不能相互替代。

看看 hadoop ecosystem

Apache Map Reduce 是:一个基于 YARN(Yet Another Resource Negotiator)的系统,用于并行处理大型数据集。它提供了简单的编程API.

Apache Kafka是一个用于处理大量流数据的分布式发布-订阅系统。您可以将 Kafka 视为一个简单的“Message Store

Apache Flume专为收集、聚合和移动大量日志数据(非结构化格式)导入 HDFS 系统。它从各种 HTTP 源和 Web 服务器收集数据。

一旦数据从 Flume 导入到 HDFS,就可以使用 PIG 或 Hive 将其转换为结构化数据,并以结构化形式生成报告。 PIGHIVE 运行一系列 Map Reduce 作业处理这些数据并生成报告。

看看这个 article 以更好地理解 日志文件处理架构。

根据日志的大小(假设计算不适合单台机器,即需要 "big data" 产品),我认为使用 Apache Spark 可能是最合适的。鉴于您对生态系统了解不多,最好选择 Databricks Cloud,这将为您提供一种从 HDFS 读取日志并以可视化方式(使用笔记本)使用 Spark 转换进行分析的直接方法).

您可以在上面的 link 中找到 this video
我们提供免费试用,您可以先看看效果如何,然后再做决定。

PS 我与 Databricks 没有任何关系。想想他们有很棒的产品,仅此而已:)

由于我在生产服务器中存储了日志文件,我打算将这些文件复制到 HDFS 中,并且我编写了 mapreduce 程序来处理它。

我认为@Marko Bonaci 的回答是有效的,我们可以尝试用 spark 来分析日志文件。

感谢大家的宝贵意见。