我必须使用 Hadoop相关工具分析存储在生产服务器上的Gzip压缩日志文件。
我无法决定如何做,以及使用什么,这里有一些我想使用的方法(随意推荐别的东西):
在我做任何事情之前,我需要从生产服务器获取压缩文件并处理它们然后将它们推送到 Apache HBase
答案 0 :(得分:4)
根据日志的大小(假设计算不适合单台计算机,即需要大数据"产品),我认为最合适的可能是使用Apache Spark。鉴于您对生态系统了解不多,最好与Databricks Cloud一起使用,这将为您提供一种直观的方式从HDFS读取日志并以可视方式使用Spark转换进行分析(使用一本笔记本)。
您可以在上面的链接中找到this video 有一个免费试用版,所以你可以看到它将如何然后决定。
PS我与Databricks没有任何关系。只要认为他们有一个很棒的产品,那就是:)
答案 1 :(得分:1)
你混合了许多相互关联的概念,而这些概念并不是彼此的替代品。
看看hadoop ecosystem
Apache Map Reduce 是:基于YARN(又一个资源协商器)的系统,用于并行处理大型数据集。它提供了简单的编程API。
Apache Kafka 是一个分布式发布 - 订阅系统,用于处理大量流数据。您可以将Kafka视为简单的“ 消息存储 ”
Apache Flume 专门用于收集,聚合和将大量日志数据(非结构化格式)移动到 HDFS 系统中。它从各种HTTP源和Web服务器收集数据。
将数据从Flume导入HDFS后,可以使用PIG或Hive将其转换为结构化数据,并以结构化形式生成报告。 PIG 或 HIVE 运行一系列地图减少工作来处理此数据并生成报告。
请查看此article,以便更好地了解 日志文件处理架构。
答案 2 :(得分:0)
您提到的每个工具都在做其他事情 -
Flume是一种分布式,可靠且可用的服务,用于有效收集,聚合和移动大量日志数据
Apache Kafka是作为分布式提交日志重新发布的发布 - 订阅消息传递 Map reduce更多是处理数据的设计模式。
我的建议是更好地定义你真正想要检查相关工具的内容。
答案 3 :(得分:0)
由于我将日志文件存储在生产服务器中,因此我将这些文件复制到HDFS中,并编写了mapreduce程序来处理它。
我认为@Marko Bonaci的答案是有效的,我们可以尝试用spark来分析日志文件。
感谢大家的宝贵意见。