使用python构建基于hadoop的mapreduce日志分析平台

流量比较大的日志要是直接写入Hadoop对Namenode负载过大,所以入库前合并,可以把各个节点的日志凑并成一个文件写入HDFS。 根据情况定期合成,写入到hdfs里面。

咱们看看日志的大小,200G的dns日志文件,我压缩到了18G,要是用awk perl当然也可以,但是处理速度肯定没有分布式那样的给力。

Hadoop Streaming原理

mapper和reducer会从标准输入中读取用户数据,一行一行处理后发送给标准输出。Streaming工具会创建MapReduce作业,发送给各个tasktracker,同时监控整个作业的执行过程。

任何语言,只要是方便接收标准输入输出就可以做mapreduce~

再搞之前我们先简单测试下shell模拟mapreduce的性能速度~

看下他的结果,350M的文件用时35秒左右。

这是2G的日志文件,居然用了3分钟。 当然和我写的脚本也有问题,我们是模拟mapreduce的方式,而不是调用shell下牛逼的awk,gawk处理。

awk的速度 !果然很霸道,处理日志的时候,我也很喜欢用awk,只是学习的难度有点大,不像别的shell组件那么灵活简单。

这是官方的提供的两个demo ~

map.py

1234567891011121314151617181920#!/usr/bin/env python"""A more advanced Mapper, using Python iter

时间: 2024-08-01 12:44:53

使用python构建基于hadoop的mapreduce日志分析平台的相关文章

hadoop助力python构建mapreduce日志分析平台

如果将http://www.aliyun.com/zixun/aggregation/867.html">流量比较大的日志直接写入Hadoop的话,对Namenode无疑会负载过大,因此入库前合并,可以把各个节点的日志凑并成一个文件写入HDFS. 分析下日志的大小,像200G的dns日志文件,压缩到18G,要是用awk perl当然也可以,但是处理速度肯定没有分布式来的那样迅速 Hadoop Streaming原理 mapper和reducer会从标准输入中读取用户数据,一行一行处理后发送

基于Hadoop的化合物生物活性分析系统

基于Hadoop的化合物生物活性分析系统 李杰辉,张亮,陈健,南蓬 通过药物虚拟筛选,发现在具有生物活性化合物过程中,存在小分子结构相似性比较计算繁杂等问题.为此,结合MapReduce模型,提出一种基于Hadoop 的并行计算模型处理方法,并通过Hadoop 工具予以实现.同时根据Hadoop 分区算法不均匀.容错功能存在重复计算等问题对该方法进行改进.实验结果表明,该方法平均加速效率达到0.91,具有较好的可靠性和扩展性. 关键词:生物活性:生物信息学:并行计算:可扩展性:数据库:Hadoo

360收购不到一岁的基于SaaS模式在线网站日志分析平台“日志宝”

冯大辉的http://www.aliyun.com/zixun/aggregation/32631.html">小道消息今日透露,360已经完成了对"日志宝"的收购.日志宝创始人兼CEO董方向我们证实了该消息,并表示此次收购是基于业务和资源的整合,但未透露具体收购细节,只是说收购形式为"股票+现金". 日志宝是一个基于SaaS模式的在线网站日志分析平台,专注于提供网站Web访问日志分析服务,目前兼容NCSA和W3C日志格式,于2012年5月7日正式上

基于Hadoop的智能家居信息处理平台

基于Hadoop的智能家居信息处理平台 徐源吾 王珣 智能家居包含门禁系统.温湿度系统.室内滴灌系统.照明系统等.每一个系统包含了不同的终端,每一个终端安装有不同的传感器,传感器感知周围环境产生大量数据.用户数的不断增加将产生海量数据.本文针对传统的海量数据处理方法会出现硬件成本高.计算瓶颈等问题,在云计算理论的基础上针对智能家居中的门禁系统.温湿度系统.滴灌系统和照明系统搭建了基于Hadoop的数据处理平台.该平台对大量传感信息进行分布式并行处理,并根据处理结果向底层设备发送指令以实现智慧化服

基于Hadoop的云教学资源平台设计与实现

基于Hadoop的云教学资源平台设计与实现 北京交通大学 徐东 本文首先对云平台中教学资源的存储结构.融合HBase和MySQL两类数据库优势的混合式数据库系统以及基于J2EE中主流SSH2框架的Web系统进行设计,使用Hadoop的分布式文件系统来存储教学资源,实现了一个实验性的基于Hadoop的云教学资源平台.其次,重新定义了平台资源反馈方式及角色关系,增加平台管理和维护的灵活行.同时,为提升平台及资源共享能力,开发了对外开放的应用接口.最后,进行云教学资源平台与传统资源平台对比的性能测试,

云队列:一个基于Hadoop的大规模消息基础平台

云队列:一个基于Hadoop的大规模消息基础平台 东华大学 史冬冬 本文基于从当前分布式系统消息通信的需求出发,并结合Hadoop云计算平台,提出了一个面向Internet规模的.高性能和高可靠的消息队列服务平台--云队列(Cloudqueue).通过云队列平台所提供的消息服务实现异步通讯.存储转发.可靠传输.跨互联网等特性,云队列可以在云计算时代为应用程序提供高性能.高可靠.大容量的面向互联网的消息传递服务. 文章从现实需求出发,在分析了消息中间件的相关基础知识和Hadoop关键技术的基础之上

使用elk+redis搭建nginx日志分析平台

elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录.其次,需要有个队列,redis的list结构正好可以作为队列使用.然后分析使用elasticsearch就可以进行分析和查询了. 我们需要的是一个分布式的,日志收集和分析系统.logstash有agent和indexer两个角色.对于agent角色,放在单独的web机器上面,

elk+redis 搭建nginx日志分析平台

elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录.其次,需要有个队列,redis的list结构正好可以作为队列使用.然后分析使用elasticsearch就可以进行分析和查询了. 我们需要的是一个分布式的,日志收集和分析系统.logstash有agent和indexer两个角色.对于agent角色,放在单独的web机器上面,

linux下利用elk+redis 搭建日志分析平台教程

这个是最新的elk+redis搭建日志分析平台,今年时间是2015年9月11日. Elk分别为 elasticsearch,logstash, kibana 官网为:https://www.elastic.co/products Elasticsearch: https://www.elastic.co/downloads/elasticsearch https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7