【问题标题】:stack for loading log files into cassandra用于将日志文件加载到 cassandra 的堆栈
【发布时间】:2012-05-25 16:25:40
【问题描述】:

我想定期(每小时)将我的应用程序日志加载到 Cassandra 中,以便使用 pig 进行分析。

这通常是如何完成的?有没有专注于此的项目?

我看到mumakil 通常用于批量加载数据。我可以编写一个围绕它构建的 cron 作业,但我希望能得到比我准备的作业更强大的东西。

如果需要的话,我也愿意修改应用程序以另一种格式存储数据(如 syslog 或直接存储到 Cassandra)。虽然在这种情况下,如果 Cassandra 不可用,我会担心数据丢失。

【问题讨论】:

    标签: cassandra apache-pig


    【解决方案1】:

    如果您打算使用 Flume,则需要编写一个自定义的 Flume 接收器(不难)。你可以在https://github.com/geminitech/logprocessing上建模。

    如果您想使用 Pig,我同意另一张海报,您应该使用 HDFS(或 S3)。 Hadoop 旨在与块巨大的块存储一起工作。这可以防止您因执行大量磁盘查找和网络 IO 而获得糟糕的 IO 性能。虽然您可以将 Pig 与 Cassandra 一起使用,但您会遇到 Cassandra 数据模型的问题,并且性能会更差。

    但是,如果您真的想使用 Cassandra 并且您对 Flume 没有死心,我建议您使用 Kafka 和 Storm。

    我使用 Storm 将日志文件加载到 Cassandra 的工作流程是:

    1. Kafka 收集日志(例如使用 log4j 附加程序)
    2. 日志使用storm-kafka进入storm集群
    3. 使用自定义 Storm bolts 解析日志行并将其插入 Cassandra(编写 Storm bolts 非常容易)。还有一个 Storm-cassandra 螺栓已经可用。

    【讨论】:

      【解决方案2】:

      您应该考虑使用 Flume 将它们加载到 HDFS 中,因为这些项目就是为此目的而设计的。然后,您可以直接对您的非结构化/半结构化日志数据使用 Pig。

      【讨论】:

        猜你喜欢
        • 2012-02-20
        • 1970-01-01
        • 2020-02-21
        • 1970-01-01
        • 1970-01-01
        • 2021-10-20
        • 1970-01-01
        • 2021-09-10
        • 1970-01-01
        相关资源
        最近更新 更多