使用Hadoop处理来自Web服务器的实时日志馈送

3qpi33ja  于 2023-03-17  发布在  Hadoop
关注(0)|答案(4)|浏览(195)

我想处理日志从我的Web服务器,因为它进来使用Hadoop(亚马逊弹性mapreduce).我谷歌的帮助,但没有任何有用的.我想知道,如果这可以做到或有任何替代方法来做到这一点.

fumotvh3

fumotvh31#

Hadoop通常以离线方式使用,所以我宁愿定期处理日志。
在我之前参与的一个项目中,我们让服务器生成每小时轮换一次的日志文件(每小时x:00)。我们有一个每小时运行一次的脚本(每小时x:30),将文件上传到HDFS(那些还没有的文件)。然后,您可以在Hadoop中根据需要运行作业来处理这些文件。
我相信还有更好的实时替代方案。

0x6upsns

0x6upsns2#

Hadoop不用于真实的处理。但它可以用于按小时处理日志,可能会落后一个小时,这是接近实时的。我想知道什么是处理日志的需要,因为它来了。

guz6ccqo

guz6ccqo3#

您可以尝试使用Flume作为日志收集器,并将它们存储在S3中进行批处理:
http://www.cloudera.com/blog/2011/02/distributed-flume-setup-with-an-s3-sink/

z9ju0rcb

z9ju0rcb4#

如果你想要真正的实时处理,你可能想看看Twitter's Storm,它是开源的,托管在GitHub. Tutorial here上。
它看起来像是used in production在大公司。
在这一点上,我自己并不使用Storm,实际上我做了一些类似于问题和回答中提到的事情:
1.使用Apache记录事件(使用rotelogs每15/30分钟更改一次日志文件)
1.偶尔将它们上传到S3
1.向现有Hadoop集群添加新步骤(在Amazon EMR上)
有了Hadoop,你可以通过在集群上运行批处理来接近实时,只需要添加一个新的作业,但不是真正的实时,你需要Storm或类似的东西。

相关问题