Impala基于Hadoop集群日志分析方法和系统的制作方法

文档序号:10655416阅读:609来源:国知局
Impala 基于Hadoop集群日志分析方法和系统的制作方法
【专利摘要】本发明公开了一种Impala基于Hadoop集群日志分析方法和系统,其中,Impala基于Hadoop集群日志分析方法,包括,设置web服务器每天产生一个新的目录,目录下面产生多个由Application业务系统产生的日志文件的步骤;设置系统定时器CRON,定时向Hadoop中的HDFS导入前一天产生的日志文件,并加载日志文件数据到hive中的步骤;hive数据加载完成后,再次设置系统定时器CRON,定时更新hive元数据,启动Impala查询程序,提取hive元数据并计算统计指标的步骤;完成上述计算统计后,再次设置系统定时器CRON,定时从HDFS导出统计指标数据到数据库,方便以后查询的步骤。实现提高数据处理效率的优点。
【专利说明】
I mpa I a基于Hadoop集群日志分析方法和系统
技术领域
[0001 ]本发明涉及互联网领域,具体地,涉及一种Impala基于Hadoop集群日志分析方法和系统。
【背景技术】
[0002]互联网的普及使得在当今高度信息化的社会里,web成为目前最大的信息系统。其中web日志中包含了大量的用户访问的信息,Web日志包含着网站最重要的信息,通过日志分析,可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值等。一般中型的网站(1W的PV以上),每天会广生IG以上Web日志文件。大型或超大型的网站,可能每小时就会产生1G的数据量。
[0003]然而,Hadoop的Map/Reduce程序模型处于比较低的级别,开发者需要开发客户程序,而这些程序往往难于维护与重用,并且运行Map/ Reduce程序效率低下。

【发明内容】

[0004]本发明的目的在于,针对上述问题,提出一种Impala基于Hadoop集群日志分析方法和系统,以实现提高数据处理效率的优点。
[0005]为实现上述目的,本发明采用的技术方案是:
一种Impala基于Hadoop集群日志分析方法,包括,
设置web服务器每天产生一个新的目录,目录下面产生多个由Applicat1n业务系统产生的日志文件的步骤;
设置系统定时器CR0N,定时向Hadoop中的HDFS导入前一天产生的日志文件,并加载日志文件数据到hi ve中的步骤;
hive数据加载完成后,再次设置系统定时器CR0N,定时更新hive元数据,启动Impala查询程序,提取hive元数据并计算统计指标的步骤;
完成上述计算统计后,再次设置系统定时器CR0N,定时从HDFS导出统计指标数据到数据库,方便以后查询的步骤。
[0006]优选的,上述设置web服务器每天产生一个新的目录,目录下面产生多个由Applicat1n业务系统产生的日志文件的步骤中,每个日志文件的大小为64M。
[0007]优选的,上述设置系统定时器CR0N,定时向Hadoop中的HDFS导入前一天产生的日志文件中,系统定时器CRON设置为夜间O点以后。
[0008]同时本发明技术方案还公开一种Impala基于Hadoop集群日志分析系统,包括,日志采集模块、存储处理模块、查询分析模块和结果展示模块;
所述日志采集模块:将各个前端web服务器中的日志传送到日志接收节点上,接收节点通过后台脚本将各个web服务器传送过来的日志导入到Hive;
所述存储处理模块:存储日志文件数据,并将日志文件加载并映射成hive数据表; 所述查询分析模块:接收用户发出的Impala查询请求,从而提供查询分析功能,并向结果展示模块返回查询结果;
所述结果展示模块:负责向Impala提交用户的查询请求,并且将Impala返回的查询结果表现出来,供用户查看。
[0009]优选的,所述日志采集模块中日志的传送方式采用rsync的定时传送方式。
[0010]优选的,所述结果展示模块表现查询结果的形式包括,图表或表格。
[0011]优选的,所述存储处理模块中,Hadoop的HDFS用来存储数据。
[0012]本发明的技术方案具有以下有益效果:
本发明技术方案实时在线分析存储在Hdf s上的海量日志数据,得到网站的的PV值(PageView,页面访问量)、独立IP数,可以计算得出用户所检索的关键词排行榜、用户停留时间最高的页面等并通过使用Impala类SQL语句的方式查询获取对应的分析结果。达到提高数据处理效率的目的。
[0013]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0014]图1为本发明实施例所述的Impala基于Hadoop集群日志分析方法的原理框图;
图2为本发明实施例所述的Impala基于Hadoop集群日志分析系统的原理框图。
【具体实施方式】
[0015]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0016]—种Impala基于Hadoop集群日志分析方法,包括,
设置web服务器每天产生一个新的目录,目录下面产生多个由Applicat1n业务系统产生的日志文件的步骤;
设置系统定时器CR0N,定时向Hadoop中的HDFS导入前一天产生的日志文件,并加载日志文件数据到hi ve中的步骤;
hive数据加载完成后,再次设置系统定时器CR0N,定时更新hive元数据,启动Impala查询程序,提取hive元数据并计算统计指标的步骤;
完成上述计算统计后,再次设置系统定时器CR0N,定时从HDFS导出统计指标数据到数据库,方便以后查询的步骤。
[0017]如图1所示,左边是Applicat1n业务系统,右边是Hadoc^tlHDFS, YARN, Hive和Impala0
[0018]1、日志是由业务系统产生的,可以设置web服务器每天产生一个新的目录,目录下面会产生多个日志文件,每个日志文件64M。
[0019]2、设置系统定时器CRON,夜间在O点后,向HDFS导入昨天的日志文件,加载数据到hive中。
[0020]3、完成加载后,设置系统定时器,更新hive元数据,启动Impala查询程序,提取并计算统计指标。
[0021]4、完成计算后,设置系统定时器,从HDFS导出统计指标数据到数据库,方便以后的即使查询。
[0022]如图2所示,一种Impala基于Hadoop集群日志分析系统,包括,日志采集模块、存储处理模块、查询分析模块和结果展示模块;
日志采集模块:将各个前端web服务器中的日志传送到日志接收节点上,接收节点通过后台脚本将各个web服务器传送过来的日志导入到Hive;
存储处理模块:存储日志文件数据,并将日志文件加载并映射成hive数据表;
查询分析模块:接收用户发出的Impala查询请求,从而提供查询分析功能,并向结果展示模块返回查询结果;
结果展示模块:负责向Impala提交用户的查询请求,并且将Impala返回的查询结果表现出来,供用户查看。
[0023]具体的:日志采集模块:
负责将各个前端web服务器中的日志传送到日志接收节点上。日志的传送方式采用rsync的定时传送方式,每天定时的将各个服务器中的日志传送到接收节点。接收节点通过后台脚本将各个服务器传送过来的日志导入到Hive。
[0024]存储处理模块:
Hadoop的HDFS用来存储实际的数据,并且具体执行由Hive提交的map-reduce任务,将hdfs上的日志文件加载到并映射成hive数据表。
[0025]查询分析模块:
查询分析模块和的存储处理模块在一个集群系统中部署完成。在实际的架构中,Hive部署在Hadoop集群中的NameNode,也即master节点上,在功能上将它们分成两个模块来分别描述。
[0026]查询模块主要完成两方面的功能:首先,将日志采集模块中的日志数据结构化到的数据库中去,将每个网站的日志数据映射成Hive数据库表;其次,接收用户发出的Impala查询请求来提供大规模的查询分析功能,并向结果输出模块返回查询结果。
[0027]I mp a I a的查询处理过程:接收客户端连接的I mp a I a d即作为这次查询的Coordinator,Coordinator对用户的查询SQL进行分析生成执行计划树,不同的操作对应不同的PlanNode,如:SelectNode、ScanNode、SortNode等,执行计划树的每个原子操作由一个Plan Fragment表不,通常一条查询语句由多个Plan Fragment组成,Plan Fragment O表示执行树的根,汇聚结果返回给用户,执行树的叶子节点一般是scan操作,分布式执行。
[0028]结果展示模块:
负责向Impala提交用户的查询请求,并且将Impala返回的查询结果以某种形式表现出来,供用户查看。用户在向其提供的浏览器客户端上输入或选择需要查询的内容,后台利用Impala提供的接口,将这些查询请求传递到查询分析模块,经过Impala查询处理模块,最终将这些任务处理后再通过查询分析模块返回到结果输出模块。将返回来的结果以图表、表格等多种形式表示出来,用户可以多种形式查看。
[0029]在Web日志中,每条日志通常代表着用户的一次访问行为,例如下面就是一条nginx日志:
22.68.172.10 - - [18/Sep/2014:06:49:57 +0000] 〃GET /images/my.jpg HTTP/1.1" 200 19939 "http://www.angularjs.cn/AOOn" "Mozilla/5.0 (Windows NT 6.1)AppleffebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36" 拆解为以下几个:
记录客户端的ip地址,22.68.172.10;
记录客户端用户名称,
记录访问时间与时区,[18/Sep/2014:06:49:57 +0000];
记录请求的url与http协议,“GET /images/my.jpg HTTP/1.1";
记录请求状态,成功是200,200;
记录发送给客户端文件主体内容大小,19939;
用来记录从那个页面链接访问过来的,http: //www.angular js.cn/AOOn ;
记录客户浏览器的相关信息,“Mozilla/5.0 (Windows NT 6.1) AppleffebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36〃。
[0030]综上所述,本发明技术方案还具有以下特点:
1、每天定时从web服务器向HDFS导入昨天的日志文件。
[0031 ] 2、将Hdf s上的日志文件加载到Hive中。
[0032]3、使用Oozie或设置系统定时器,调度Impala查询语句,提取并计算统计指标。
[0033]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种Impala基于Hadoop集群日志分析方法,其特征在于,包括, 设置web服务器每天产生一个新的目录,目录下面产生多个由Applicat1n业务系统产生的日志文件的步骤; 设置系统定时器CR0N,定时向Hadoop中的HDFS导入前一天产生的日志文件,并加载日志文件数据到hi ve中的步骤; hive数据加载完成后,再次设置系统定时器CR0N,定时更新hive元数据,启动Impala查询程序,提取hive元数据并计算统计指标的步骤; 完成上述计算统计后,再次设置系统定时器CR0N,定时从HDFS导出统计指标数据到数据库,方便以后查询的步骤。2.根据权利要求1所述的Impala基于Hadoop集群日志分析方法,其特征在于,上述设置web服务器每天产生一个新的目录,目录下面产生多个由Applicat1n业务系统产生的日志文件的步骤中,每个日志文件的大小为64M。3.根据权利要求1或2所述的Impala基于Hadoop集群日志分析方法,其特征在于,上述设置系统定时器CR0N,定时向Hadoop中的HDFS导入前一天产生的日志文件中,系统定时器CRON设置为夜间O点以后。4.一种Impala基于Hadoop集群日志分析系统,其特征在于,包括,日志采集模块、存储处理模块、查询分析模块和结果展示模块; 所述日志采集模块:将各个前端web服务器中的日志传送到日志接收节点上,接收节点通过后台脚本将各个web服务器传送过来的日志导入到Hive; 所述存储处理模块:存储日志文件数据,并将日志文件加载并映射成hive数据表; 所述查询分析模块:接收用户发出的Impala查询请求,从而提供查询分析功能,并向结果展示模块返回查询结果; 所述结果展示模块:负责向Impala提交用户的查询请求,并且将Impala返回的查询结果表现出来,供用户查看。5.根据权利要求4所述的Impala基于Hadoop集群日志分析系统,其特征在于,所述日志采集模块中日志的传送方式采用rsync的定时传送方式。6.根据权利要求5所述的Impala基于Hadoop集群日志分析系统,其特征在于,所述结果展示模块表现查询结果的形式包括,图表或表格。7.根据权利要求4至6任一所述的Impala基于Hadoop集群日志分析系统,其特征在于,所述存储处理模块中,Hadoop的HDFS用来存储数据。
【文档编号】G06F17/30GK106021580SQ201610385810
【公开日】2016年10月12日
【申请日】2016年6月3日
【发明人】肖松林
【申请人】用友网络科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1