基于 Hadoop 集群的分布式日志系统,算是我用下来比较稳的一套方案。日志量一多,单机吃不消就得上分布式,Hadoop 集群的扩展性这时候就显出来了,大批量日志还挺靠谱。配合像 Flume 这种工具,日志采集和写入都能串得比较顺,整个链路清晰,出问题也好查。
搭配Apache Flume
收集日志,再喂给HDFS或YARN做,性能还不错,响应也快。尤其是你用过MapReduce
写简单脚本,发现多场景都能扛得住,哪怕日志格式不统一,稍微清洗一下也能跑。
分布式架构的搭建对新手来说有点劝退,但你真想玩得深,建议先照着Hadoop 完全分布式集群这篇来走一遍,别急着上正式项目,自己折腾清楚原理再说。
系统跑在CentOS7上也挺稳定,安装过程别偷懒,多看看这篇搭建教程,省得后面各种报错让你崩溃。监控也别忘了加个像Ganglia的,集群状态一目了然。
哦对了,如果你是用Kafka
作为前置消息中间件的,哪怕是伪分布式也能先试着玩一下,比如这个Windows 下 Kafka 伪集群教程就比较友好。
如果你正在搭建日志系统,又不想从零折腾架构,这套基于Hadoop的方案可以先试试看,省心不少。