gpt4 book ai didi

hadoop - 同步日志到hadoop的架构

转载 作者:可可西里 更新时间:2023-11-01 16:48:34 28 4
gpt4 key购买 nike

我在几个云提供商中有不同的环境,例如 Windows 服务器、机架空间中的 Linux 服务器、aws 等。在那个和内部网络之间有一个防火墙。

我需要构建一个实时服务器环境,其中所有新生成的 IIS 日志、apache 日志将同步到内部大数据环境。

我知道 Splunk 或 Sumologic 等工具可能会有所帮助,但我们需要在开源技术中实现此逻辑。由于防火墙的存在,我假设我只能拉取日志而不是从云提供商那里推送。

谁能与我分享在 NRT(近实时)中同步大量日志的经验法则或通用架构是什么?我听说过 Apache Flume、Kafka 并想知道是否需要这些,或者这只是使用 rsync 之类的东西的问题。

最佳答案

您可以使用 rsync 获取日志,但不能像 Spark StreamingApache Storm 那样分析它们。

您可以选择这两个选项之一。

  1. Apache Spark Streaming + Kafka

  1. Apache Storm + Kakfa

看看这个article关于这两个选项的集成方法。

看看这个presentation ,其中涵盖了对 Spark StreamingApache Storm 的深入分析。

性能取决于您的用例。 Spark Steaming 比 Storm 处理快 40 倍。但是,如果您将“可靠性”添加为关键标准,则应先将数据移至 HDFS,然后再由 Spark Streaming 进行处理。它会降低最终吞吐量。

可靠性限制:Apache Storm

  1. Exactly once 处理需要持久的数据源。
  2. 至少有一次处理需要可靠的数据源。
  3. 可以包装不可靠的数据源以提供额外的保证。
  4. 有了持久可靠的来源,Storm 就不会丢弃数据。
  5. 常见模式:使用 Apache Kafka 支持不可靠的数据源(以 100% 持久性换取较小的延迟影响)。

可靠性限制:Spark 流

  1. 容错和可靠性保证需要 HDFS 支持的数据源。
  2. 在流处理之前将数据移动到 HDFS 会引入额外的延迟。
  3. 网络数据源(Kafka 等)在工作节点发生故障时容易丢失数据。

关于hadoop - 同步日志到hadoop的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34497283/

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