2

如果我要将 Zookeeper 用作工作队列并将其连接到单个消费者/工作人员。您会推荐什么作为记录这些工人活动的良好分布式设置?

假设如下:

1)在任何时候,我们都可以减少到 1 台容纳 hadoop 集群的计算机。该系统将根据需要自动扩展和缩减,但在只需要一台计算机的情况下有很多停机时间。

2)我只需要能够访问所有工作人员日志而不访问工作人员所在的单个机器。请记住,当我阅读这些日志之一时,这台机器很可能会被终止并且早已不复存在。

3)我们需要轻松访问日志,即能够 cat/grep 和 tail 或者以更 SQLish 的方式 - 我们需要实时查询以及在短时间内实时监控输出时间。(即tail -f /var/log/mylog.1)

我在这里感谢您的专家想法!

谢谢。

4

2 回答 2

1

您是否使用过 Flume、chukwa 或 scribe - 确保您的 Flume 等进程可以访问您尝试聚合到集中式服务器上的日志文件。

水槽参考: http: //archive.cloudera.com/cdh/3/flume/Cookbook/

楚夸: http ://incubator.apache.org/chukwa/docs/r0.4.0/admin.html

抄写员: https ://github.com/facebook/scribe/wiki/_pages

希望能帮助到你。

于 2012-07-12T18:16:27.533 回答
0

Fluentd日志收集器刚刚发布了它的 WebHDFS 插件,它允许用户即时将数据流式传输到 HDFS。它非常易于安装且易于管理。

在此处输入图像描述

当然,您可以直接从您的应用程序导入数据。这是一个针对 Fluentd 发布日志的 Java 示例。Fluentd 的 Java 库足够聪明,可以在 Fluentd 守护进程关闭时进行本地缓冲。这减少了数据丢失的可能性。

还提供高可用配置,基本上可以让你拥有集中的日志聚合系统。

于 2012-11-17T05:08:14.840 回答