代码之家  ›  专栏  ›  技术社区  ›  Nicolas

MapReduce如何成为分析http服务器日志的好方法?

  •  7
  • Nicolas  · 技术社区  · 17 年前

    我不知道它如何帮助分析http服务器日志。

    我的理解是,大公司(例如脸书)使用MapReduce来计算他们的http日志,以加快从这些日志中提取受众统计数据的过程。我工作的公司虽然比脸书小,但每天都有大量的网络日志需要计算(100Go每月增长5%到10%)。现在我们在一台服务器上处理这些日志,它工作得很好。但是,分配计算作业会立即浮现在脑海中,成为一种即将有用的优化。

    • MapReduce概念真的可以应用于博客分析吗?
    • MapReduce是最聪明的方法吗?


    尼古拉斯

    2 回复  |  直到 17 年前
        1
  •  16
  •   Osama Al-Maadeed    17 年前

    对。

    你可以将hudge日志文件拆分为10000或1000000行的块(对于你的日志文件类型来说,这是一个很好的块——对于apache日志文件,我会选择更大的块),将它们提供给一些映射器,这些映射器会从每一行日志中提取特定的内容(如浏览器、IP地址、…、用户名等),然后通过计算每一行出现的次数来减少(简化):

      192.168.1.1,FireFox x.x,username1
      192.168.1.1,FireFox x.x,username1
      192.168.1.2,FireFox y.y,username1
      192.168.1.7,IE 7.0,username1
    

    FireFox
    FireFox
    FireFox
    IE
    

    然后减少得到这个: 火狐,3 即,1

    MapReduce是最聪明的方法吗?

    你可以从1个客户端开始,扩展到1000个……你甚至可以有一个客户端在局域网上的所有PC上作为屏幕保护程序运行,在8核服务器上运行8个客户端,在双核PC上运行2个客户端。。。

    http://img355.imageshack.us/img355/7355/mqlogs.png

    如果是基于文本的日志文件,则按元素或行数。

        2
  •  1
  •   Nick Retallack monkut    17 年前
    • MapReduce概念真的可以应用于博客分析吗?

    当然。你存储的是什么类型的数据?

    • MapReduce是最聪明的方法吗?

    Sharding .

    通常,您会使用 consistent hashing algorithm

    推荐文章