文章目录
DolphinScheduler****集群高可用测试
1 文档概述
Apache DolphinScheduler(简称DS)是一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。在生产环境中需要确保调度平台的稳定可靠性及任务负载均衡,本篇文档主要针对DS集群的高可用及稳定性进行测试验证。
2 测试环境说明
1.CM和CDH版本为5.16.2
2.集群启用Kerberos
3.DolphinScheduler版本为1.3.8
4.集群HDFS和Yarn服务已启用HA
5.操作系统为RedHat7.6
3 测试场景说明
场景一:API管理角色的高可用性测试
DS的API服务主要是用于为前端UI层提供服务,前端界面也是我们使用DS的一个重要入口,需要确保服
务的高可用。通过模拟API服务故障,验证API服务是否可以正常运行。
场景二:Master管理角色的高可用性测试
MasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并
同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册
临时节点,通过监听Zookeeper临时节点变化来进行容错处理。
通过模拟MasterServer服务故障,验证集群的DAG调度及监控是否正常运行。
场景三:Worker角色的高可用性测试
WorkerServer也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。
WorkerServer服务启动时向Zookeeper注册临时节点,并维持心跳。
通过模拟WorkServer服务故障,验证集群的DAG在运行过程中是否会受到影响。
场景四:Worker节点的性能负载测试
基于该场景主要测试在集群高负载的进行任务调度的情况下,验证DAG任务是否能够合理的分配到相应
的worker节点运行。
4 高可用测试
4.1 API 管理角色的高可用性测试
**测试前置:**在测试API角色之前需要确保DS集群中已部署了两个API角色,否则在测试的过程中模拟API
故障则会直接导致DS的前端页面无法正常访问。
说明:测试阶段就未引入Haproxy或F5实现前端页面访问的负载均衡,因此本测试用例均是直接访问相
应的API地址来进行验证。