2012-02-09 110 views
2

如果我要使用zookeeper作为工作队列并连接到个人消费者/工作者。你会推荐什么作为记录这些工人活动的良好分布式设置?hadoop日志记录工具?

假设如下:

1)在任何时候,我们可能会下降到1个计算机外壳Hadoop集群。系统会根据需要进行自动缩放,但是只有一台计算机需要停机时间。

2)我只需要能够访问所有的工人日志,而无需访问工人所在的单个机器。记住,当我阅读这些日志之一时,那台机器很可能会被终止,并且很快就离开了。

3)我们需要方便地访问日志,即能够cat/grep和tail,或者以更多SQLish方式 - 我们需要实时能力来查询以及短时间监视输出时间的实时。 (即尾-f /var/log/mylog.1)

我很欣赏你的专家意见!

谢谢。

回答

0

Fluentd日志收集器刚刚发布了它的WebHDFS插件,它允许用户立即将数据流传输到HDFS。安装简单,管理简单。

enter image description here

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

高可用性配置也可以,这基本上使您能够集中式日志聚合系统。