问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用hadoop进行流量分析

发布网友 发布时间:2022-04-24 16:15

我来回答

1个回答

热心网友 时间:2022-05-06 09:14

Hadoop网络流量分析

NetFlow产生大量的数据,但大多时候我们只需要这些数据的统计结果。用普通的串行方法可以在少量的数据集上进行统计,并且达到很理想的效果,但是一旦数据超过一定量级,便不能有效地进行处理,这时一些基于分布式的并行计算框架就有了用武之地。为了实现并行计算,已经有很多组织机构提出了多种方法,其中以Google提出的MapRece框架最为著名。该框架已被广泛应用于文本搜索,海量数据挖掘等场合。

概述

图1展示了我们进行流分析时的机器拓扑结构。其中Hadoop云平台提供了分布式文件系统HDFS和云计算功能。

首先从各个数据源中提取数据,然后把各个数据源数据解析出来的可读数据上传云平台上。云平台的计算由一个主节点组织,若干从节点协同。主节点用来存储元数据、分配资源和任务调度。我们可以对其进行相应的系数配置如缓冲区大小、数据分片大小、处理线程的多少等因素,以更好地达到实验效果。从节点则接受主节点的调度,主要参与运算,同时也会定时反馈自己所在节点的状况。每个从节点上会根据HDFS的配置有若干份,在进行分布式计算时,从节点计算时通过Hadoop自带的RPC协议来进行通信。具体的计算过程则是由MapRece框架完成。

MapRece下的Flow分析

MapRece计算框架下,任何数据都可以被看做是一对键值的组合。Map函数和Rece函数是 Map-Rece的两大组成部分。Map函数用来对原始数据进行过滤,然后产生中间结果(也是键-值的形式)该中间结果作为Rece函数的输入。之后,Hadoop会把具有相同键的值归为一个列表,然后再遍历列表进行数据的统计。Rece过后,通常中间数据集都会缩小,因为Rece过程中仅提取了该部分的有效信息。为了能使用MapRece框架进行不同流字段的分析,应当设计自己Map和Rece函数,如果要做某时间段的流量检测,那么Map函数要设计成带有可以提取某时间段所有流量的功能。如果我们要查看是否有潜在的DDos攻击,那么Map函数被设计成可以提取知名端口字段,其他的功能与此类似。

图2详细地介绍了统计某时间段流量的MapRed-uce的工作流程。图中有一个上文没有提到combiner的过程,该过程主要用于再从节点进行部分归并,以提高程序的运行效率。

1.输入文件

首先,我们把提取的原始NetFlow字段利用SILK自带的工具rwfilter解析成Hadoop可以读出的数据字段,即文本字段。接着把这些解析出来的字段由Hadoop客户端上传到HDFS中,由于解析出来的文本字段远远大于原来的二进制形式的文件,所以需要把这部分输入规模变小一些。SILK本身并不提供解析二进制文件的接口,所以采取了把源数据进行压缩的方法,采取的压缩格式最好是能支持 Hadoop的LZO,通过实验也证明了这种压缩方式确实有最好效率。

2.Mapper

Mapper首先读入存在在HDFS中的文件作为自己的输入,它的读入以行为单位。然后再用文本处理工具对这些行字段进行提取,提取的字段和要进行的操作有关。以统计某时段的某IP的流入流量为例,Mapper输入中会有IP、端口、协议、时间戳等字段。由于是进行某时间段流量的统计,我们把该时间段内的IP字段提取出来作为键,把该时间段内的流量提取出来作为值,这样就构成了一个Mapper。

3.Recer

Recer把Mapper的输出作为输入,同样以统计某IP地址某时间段流入流量为例。Mapper中得到了IP-Bytes键值对,Recer中把相同的键所对应的值归并在一个列表L中这样,键值对就变成(IP,L),这样就可以遍历L并把所有的流量相加,就得到了我们想要的结果。

实验及结果对比

为了进行实验,我们搭建了1个主节点以及4个从节点的Hadoop-2.4.1版本的集群,集群的每个从节点带有2.83GHz的12核CPU,内存大小为48G,硬盘大小为40TB,集群的主节点带有一个12核2.83GHz的CPU和64G内存。为了提高效率,主从节点均在同一个机架上,连在同一个交换机上。SILK的对比试验则是在单节点上进行,配置相同。

可以看到当数据量不大时,SILK往往具有更快的速度,这是因为Hadoop在进行计算前,要做一些集群间的通信及初始化工作,在小数据集上并不占优势。然而当我们把实验数据逐渐加大时,发现Hadoop会在某个点超越SILK的分析速度,当数据集再逐渐扩大时,Hadoop的优势变得更加明显,如图3所示。

本文主要展示了如何利用Hadoop和MapRece框架进行大规模的网络流的分析的方法,并列举了几个利用这种方法进行实际分析的实例以及和传统方法进行网络流分析的对比。实践中,该方法在大量数据的情况下相比于传统的流分析工具具有更高的效率。另外它在可靠性、可扩展性方面也有着突出的表现,随着Hadoop更高版本的推出,现在的单点故障问题以及分布式系统安全方面也有了显著的提升,使得该方法的应用更成为了可能。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
招商银行的美元天添金怎么样? 天添美蒸馒头为什么开裂呢 上海食堂送菜 邮政跨地区取款手续费多? 谁能告诉我邮政储蓄卡跨省取钱要不要收费啊? 自贡市龙盛世纪仿真模型制造有限公司公司简介 学PS真的很难吗 红烧萝卜牛筋 微信怎么转发公众号部分内容 转发公众号部分内容方法 微信公众号内的视频如何下载?一个F12搞定 服务器流量怎么分析! 如何分析网站流量状况 如何进行流量统计分析? 网络流量的分类都有什么? 第七章 流量监控与分析工具常用的网络流量监测方法有几种?分别是什么 nvidia控制面板停止工作 WIN7右键的NVIDIA控制面板停止工作(就是打不开了)怎么办? Win7系统打不开Nvidia控制面板提示“停止工作”怎么办 win10 控制面板nvidia control panel application 8.1.940.0已停止工 ... 英伟达显卡控制面板已停止工作 nvidia控制面板已停止工作 打不开 英伟达控制面板停止工作 NVIDIA开机显示已停止工作,NVIDIA控制面板打不开(图) 笔记本英伟达控制面板停止工作,显卡驱动卸载重装的好几次都不行,现在... 英伟达显卡控制面板打不开:显示已停止工作:如图1,服务里没有英伟 控制面板已停止工作 为什么nvidia控制面板一打开就停止工作 英伟达显卡控制面板停止工作了 求助n卡显卡控制面板停止工作 新希望澳园好不好? 网络嗅探是什么? 百度seo排名上海网络优化推广如何选择? 怎样分析网站数据 如何将统一企业的业务在上海世博会推广具体方案 网站推广策划 上海淇经文化传媒有限公司都是怎么做推广的? 关于网络流量分析 哪里有上海推广实施方案啊? 上海推广方案哪里有?帮帮忙啊 网络流量分析的介绍 网站流量的分析 网络推广方案、网络营销策略如何制定?上海的公司怎么样?谢! 网络流量和流量监控与分析 网络推广方案、网络营销策略如何制定?上海的公司怎么样? 怎么检测出网络中的流量占用情况? 服装新品牌的推广方案怎么做 如何选择网络流量分析软件 我是上海鼎晟保洁服务有限公司负责人,开了几年也没有太大起色,请问如何把自己的公司推广出去 企业QQ的邮箱从那里打开 场院的拼音是什么