zl程序教程

您现在的位置是:首页 >  后端

当前栏目

《Storm实时数据处理》一2.7 为日志流集群创建集成测试

集成实时测试日志集群 创建 数据处理 storm
2023-09-11 14:19:11 时间

本节书摘来华章计算机《Storm实时数据处理》一书中的第2章 ,第2.7节,(澳)Quinton Anderson 著 卢誉声 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.7 为日志流集群创建集成测试

在交付过程中,集成测试扮演着非常重要的角色。集成测试的类型有很多。通常来说,单元集成测试和Topology集成测试不仅是持续集成构建周期的组成部分,还是对部署集群集成测试的必要功能性风格的补充。我们在这里展示的集成测试方法本质上和第1章中的集成测试方法没什么区别,但这里却复杂很多,所以有必要多作些解释。

2.7.1 实战

我们先来创建单元测试。
Step01 使用Eclipse,在项目的单元测试源代码目录中的storm.cookbook.log包里创建一个名为IntegrationTestTopology的JUnit 4单元测试用例。添加一个setup方法,该方法会在初始化类之前被调用:
image

Step02 接下来创建setup方法中所有被调用的初始化方法,我们先来初始化嵌入式版本的Cassandra:
image
image

Step03 然后初始化本地嵌入式Elastic Search实例:
image

Step04 最后,初始化需要测试的Topology:
image

Step05 这样我们就准备好了所有测试Topology所需的工具。另外,我们还需要在测试结束时销毁这些对象和结构体,在测试套件中增加一个AfterClass方法:
image

Step06 然后实现好测试用例就可以大功告成了:

image

2.7.2 解析

该测试用例通过创建嵌入式Topology集群实例来实现集成测试功能,其中两个实例分别叫做Cassandra和Elastic Search。然后我们所做的工作就与之前的集成测试一样,将测试数据添加到输入通道,通过Topology来处理这些日志记录,并验证搜索引擎中的记录,以及计数器自增状态正确与否。
该测试相比普通的单元测来说需要花费更多时间,因此不应该将它们包含到你的标准Maven构建当中。但这个测试有必要作为你在本地开发工作过程当中的重要一环,并在持续集成服务器上进一步进行验证。


(3)sparkstreaming从kafka接入实时数据流最终实现数据可视化展示 1)我们通过kafka与各个业务系统的数据对接,将各系统中的数据实时接到kafka; 2)通过sparkstreaming接入kafka数据流,定义时间窗口和计算窗口大小,业务计算逻辑处理; 3)将结果数据写入到mysql; 4)通过可视化平台接入mysql数据库,这里使用的是NBI大数据可视化构建平台; 5)在平台上通过拖拽式构建各种数据应用,数据展示;
多模式日志数据流的实时加工与集散 日志处理是一个极其繁琐的过程,究其原因是日志的边界情况特别多,而且可能随时在变。阿里云 SLS 数据加工服务是专门针对日志规整、富化、集散等处理场景。本文主要介绍在多模式混杂的日志集散场景下,如何快速使用 SLS 数据加工服务完成需求。