Page 19 - 网络电信2018年4月刊上
P. 19
非常耗费网络资源,并且因为数据量非常大,耗费的时间也相 TB级别的数据量。一个MapReduce作业(job)通常会把输入的
当长;第二是将传输过来的海量数据进行结构化解析,通常为 数据集切分为若干独立的数据块,由map任务(task)以完全并
了加快该进度,一般通过多进程的解析日志模式,假如数据日 行的方式处理它们。首先整体框架会对map的输出进行排序,然
志量超过一定的规模量,那么解析时间就会非常长;第三是将 后把结果输入reduce任务;通常作业的输入和输出都会被存储
结构化数据存储到结构化的数据库中,常见的数据库集群有RAC 在文件系统中。整个框架负责任务的调度和监控以及重新执行
集群、GreenPlum集群等;第四是通过数据库进行分析数据,最 已经失败的任务。Hadoop的优势是利用大量的普通机器,将海
终给出数据分析结果,在数据量极大的情况下,结构化数据库 量的数据碎片化、分布式地计算,并利用其独有的HDFS(分布
计算非常缓慢甚至无法进行。图1就是常见的处理流程。 式文件系统)进行存储管理,实现海量高效稳定计算。
图1 传统域名数据分析方法处理流程 2、基于Hadoop的海量域名数据分析的技术优化应用
某省运营商每日仅某一地市的DNS日志数据就可能达到几百
个Gbit/s,超过几十亿条域名记录,传统方式非常依赖高性能
的机器进行解析和分析,成本上和效率上难以为继。
因此,为了优化传统域名数据分析模式,本文提出了一种
基于Hadoop的海量DNS数据分析系统的技术优化方案,该方案在
广东省某大型运营商的网络中得到了实施应用。整体体系采用
Hadoop框架,主要分为以下3个步骤。
步骤1 在远程日志服务器上直接搭建HDFS,采用ORC的文件
格式,极大地减少了文件存储,并无需传输到本地。
步骤2 基于MapReduce技术,将日志按照MapReduce框架解
析,程序会自动分布式处理和计算,无需增加服务器,直接使
用DNS服务器即可。
3、传统域名数据分析技术的局限性
通过上述流程和图1,可见传统的域名数据处理分析方法有 步骤3 基于Hive将结果汇总计算生成报表,整个过程没有
多余的存储、多余的网络传输、多余的数据库成本,具体如图2
以下四大缺点。
所示。采用基于Hadoop框架的域名数据分析优化方案,相比传
-海量网络传输:对于用户群非常庞大的网络运营商,例
统方法具有以下几大优势和技术创新。
如广东省某运营商网内就有几千万的互联网用户,每个DNS节点
上的数据采集前置机上都有数据量非常大的DNS存储数据,如果 图2 基于Hadoop框架的域名数据分析优化方案
采用这种方法,每天多达几百Gbit/s规模的日志数据传输的网
络成本和时间成本会非常大。
-海量冗余存储:传统的方法会冗余存储3份数据,即传输
到本地的一份、结构化解析的一份和存放在数据库的一份,运
营商每天的日志数据非常大,无法支撑如此大的存储压力。
-频繁代码解析:假如日志格式发生变化都需要人工修
改结构化解析脚本,那么运营者就可能不断持续地进行调优测
试,网络运营维护的时间成本和人力成本都会非常高,效率也
低下。
-高成本数据库:结构化数据库有一个明显的缺点就是一
旦数据量大运行就会很慢,这同样增加了数据库运营维护的工
作量和人力成本。
因此,在“互联网+”发展的趋势下,随着网络用户和流量
的增长,传统的域名数据分析方法已经难以适应目前网络的增
长趋势,迫切需要进行相关域名数据分析技术的优化和应用研 -实现了Hadoop海量数据的本地计算,极大地提升了数据
究、部署。 处理效率。整个系统无大量的网络数据传输过程,计算过程置
于域名数据服务器本地,只需配置好Zookeeper功能即可实现远
四、基于Hadoop的海量DNS数据解析系统 程计算。传统的数据分析计算需要将数据传输到服务器集群去
的技术优化和应用 进行,这种模式极大地增加了网络传输成本和时间成本,例如
1、Hadoop数据分析的关键技术 某地市每天DNS日志数据量为500Gbit/s,假设网管传送带宽为
Hadoop是一个通用且易于实施应用的MapReduce软件框架, 10Mbit/s,那传输该日志数据就需要近14.2h。而采用了Hadoop
基于Hadoop架构的应用程序能够运行在由上千个单独机器组成 本地计算优化,也即把DNS节点的数据前置服务器当成Hadoop的
的大型集群上,并可以采用一种可靠容错的方式并行处理达到 节点,实现了本地服务器的数据计算,大大提高了数据分析能
力,减少了时间成本和运营维护成本,提高了数据分析的实时
网络电信 二零一八年四月 19