测试目标

azkaban多executor下flow的分配方式

azkaban可以同时执行的flow\job个数

azkaban单个job最小使用的内存

相关配置

executor最大线程数: executor.maxThreads=50

executor同时执行的flow最大数 executor.flow.threads =30

executor每个flow最多同时执行的job数 flow.num.job.threads =10

测试

1.azkaban多executor下flow的分配方式

a.先启动flow20end_noop,该flow包含20个job



发最多只有10个job在执行.

查看主机上执行的任务情况:

[root@bqbpdevs2 conf]# ps -ef|grep "sleep 300" |grep -v grep -c
10
[root@bqbpdevs3 ~]# ps -ef|grep "sleep 300" |grep -v grep -c
0

发现先启动flow20end_noop只在节点2上运行,节点3上没有运行.

b.再启动一个任务flow30end_noop,该flow包含30个job

[root@bqbpdevs2 conf]# ps -ef|grep "sleep 300" |grep -v grep -c
10 ##flow20end_noop的10个任务
[root@bqbpdevs3 ~]# ps -ef|grep "sleep 300" |grep -v grep -c
10

发现flow30end_noop只在节点3上面运行,

c.再启动一个任务flow40end_noop

[root@bqbpdevs2 conf]# ps -ef|grep "sleep 300" |grep -v grep -c
10
[root@bqbpdevs3 ~]# ps -ef|grep "sleep 300" |grep -v grep -c
20

发现flow40end_noop只在节点3上启动.

以上测试说明,azkaban每个flow只会分配在一个节点上

2.azkaban可以同时执行的flow\job个数

a.最大支持的flow数



同时起了38个flow.

说明executor.flow.threads这个参数是针对每个executor的而是不azkaban集群

b.测试azkban job最大并行度

[root@bqbpdevs2 conf]# ps -ef|grep "sleep 300" |grep -v grep -c
0
[root@bqbpdevs3 ~]# ps -ef|grep "sleep 300" |grep -v grep -c
101

启动了11个flow,这些flow刚好全启动在了节点3上.同时执行了101个job.

说明executor.maxThreads=50不能控制每个节点上job的并行数.

3.azkaban单个job最小使用的内存

找到一个执行中的进程,查看内存:



每个sleep 命令大概用了620字节,并且系统中无其它azkaban进程(server除外)

说明azkaban在提交任务后会退出,所使用的内存由程序决定

总结

1.azkaban的每个flow中会分配到一个节点上执行

2.每个flow中同时执行的job数由flow.num.job.threads决定

3.参数executor.maxThreads=50在job运行时无效,应该是提交任务的线程数

4.每个节点能执行的最大job数= executor.flow.threads * flow.num.job.threads

5.azkaban提交任务后线程会退出,不占用内存.

3.azkaban3.0测试的更多相关文章

  1. AC6102开发板USB3.0测试和使用说明

    AC6102开发板USB3.0测试和使用说明 概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲, ...

  2. android开发者博客二月Android Studio2.0测试

    参考网页-http://android-developers.blogspot.com/2016/02/android-studio-20-beta.html Android Studio 2.0-B ...

  3. Python开发环境Wing IDE 5.0测试第八版发布

    Wing IDE是著名的Python开发工具,是Wingware公司的主要产品.从1999年起,Wingware公司便开始专注于Python开发设计.Wing IDE在十几年的发展中,不管完善.其强大 ...

  4. jmeter4.0测试dubbo接口遇到的问题:An error occurred: org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class

    半年前,用jmeter4.0测试dubbo接口的时候,遇到这样一个问题 An error occurred: org.springframework.scheduling.quartz.CronTri ...

  5. Uiautomator1.0与Uiautomator2.0测试项目搭建与运行原理

    Uiautomator是Android原生测试框架,可以用于白盒接口测试也可以用于UI自动化测试,Uiautomator分1.0版本与2.0版本,它们都是基于UiAutomation的测试框架,都是通 ...

  6. Hadoop 学习笔记 (八) hadoop2.2.0 测试环境部署 及两种启动方式

    1基本流程步骤1:准备硬件(linux操作系统)步骤2:准备软件安装包,并安装基础软件(主要是JDK)步骤3:修改配置文件步骤4:分发hadoop步骤5:启动服务步骤6:验证是否启动成功!2硬件配置要 ...

  7. 2.azkaban3.0安装

    安装规划安装azkban1.安装配置数据库2.下载安装web server3.安装mulit executor4.安装azkaban插件AZKABAN参数安装出现的问题 安装规划 IP 角色 端口 1 ...

  8. USB3.0测试和使用说明

    概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数 ...

  9. ubuntu 14.04 安装opencv 3.0 测试

    安装opencv 前面步骤参考 http://my.oschina.net/u/1757926/blog/293976 主要修改测试代码 1. 先从sourceforge上下载OpenCV的源码 2. ...

随机推荐

  1. iPhone 横竖屏切换,全屏播放的三种方式

    1. 调用系统自带的强制屏幕旋转不过还得在AppDelegate中重写下面方法 - (UIInterfaceOrientationMask)application:(UIApplication *)a ...

  2. JQuery的焦点事件focus() 与按键事件keydown() 及js判断当前页面是否为顶级页面 子页面刷新将顶级页面刷新 window.top.location

    相关代码如下,使用看注解 <script type="text/javascript"> if(window.self != window.top){ window.t ...

  3. 本地打jar包到本地的Maven出库

    1.命令行输入 mvn install:install-file -DgroupId=jar包的groupId -DartifactId=jar包的artifactId -Dversion=jar包的 ...

  4. Mysql 几种常见的插入 Insert into,Replace Into,Insert ignore

    简要说下三者的区别:insert into 最普遍的插入,如果表中存在主键相同的数据,执行会报错. replace into 如果表中存在主键相同的数据则根据主键修改当前主键的数据,反之则插入(存在就 ...

  5. Python模拟校园网登录

    最近忙着实验室的项目,学习的时间相对较少.前一段时间刚开始接触python时,依葫芦画瓢照着写了一个爬虫,爬取了某个网站的图片.当看到一张张图片自动出现在电脑屏幕上时,有些小小成就感.我想大多数人开始 ...

  6. node的安装和配置

    一 . 直接安装node 1. http://nodejs.cn/download/ 根据自己的电脑选择适合的安装包 2.安装 , 无脑下一步 , 可以选择安装路径 , 但是一定要记住 . 3.命令行 ...

  7. PredicateBuilder

    using System; using System.Linq; using System.Linq.Expressions; namespace Oyang.Tool { public static ...

  8. 如何将24位RGB颜色转换16位RGB颜色

    有许多朋友第一次使用16位彩色显示屏会遇到如何将24位RGB颜色转换为对应的16位RGB颜色的问题, 通过查阅相关资料,就写一下其中的转换原理吧,希望对大家会有所帮助. 我们知道24位RGB是分别由8 ...

  9. python学习笔记:第17天 面向对象03 类与类之间的关系

    一.类与类之间的依赖关系 ⼤千世界, 万物之间皆有规则和规律. 我们的类和对象是对⼤千世界中的所有事物进⾏归类. 那事物之间存在着相对应的关系. 类与类之间也同样如此. 在⾯向对象的世界中. 类与类 ...

  10. Java两个线程实现交替运行-以交替打印奇偶数为例

    本文旨在两个线程交替运行,不多哔哔直接看代码吧 public class Work2 { static final Object object = new Object(); public stati ...