3.azkaban3.0测试
测试目标
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测试的更多相关文章
- AC6102开发板USB3.0测试和使用说明
AC6102开发板USB3.0测试和使用说明 概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲, ...
- android开发者博客二月Android Studio2.0测试
参考网页-http://android-developers.blogspot.com/2016/02/android-studio-20-beta.html Android Studio 2.0-B ...
- Python开发环境Wing IDE 5.0测试第八版发布
Wing IDE是著名的Python开发工具,是Wingware公司的主要产品.从1999年起,Wingware公司便开始专注于Python开发设计.Wing IDE在十几年的发展中,不管完善.其强大 ...
- 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 ...
- Uiautomator1.0与Uiautomator2.0测试项目搭建与运行原理
Uiautomator是Android原生测试框架,可以用于白盒接口测试也可以用于UI自动化测试,Uiautomator分1.0版本与2.0版本,它们都是基于UiAutomation的测试框架,都是通 ...
- Hadoop 学习笔记 (八) hadoop2.2.0 测试环境部署 及两种启动方式
1基本流程步骤1:准备硬件(linux操作系统)步骤2:准备软件安装包,并安装基础软件(主要是JDK)步骤3:修改配置文件步骤4:分发hadoop步骤5:启动服务步骤6:验证是否启动成功!2硬件配置要 ...
- 2.azkaban3.0安装
安装规划安装azkban1.安装配置数据库2.下载安装web server3.安装mulit executor4.安装azkaban插件AZKABAN参数安装出现的问题 安装规划 IP 角色 端口 1 ...
- USB3.0测试和使用说明
概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数 ...
- ubuntu 14.04 安装opencv 3.0 测试
安装opencv 前面步骤参考 http://my.oschina.net/u/1757926/blog/293976 主要修改测试代码 1. 先从sourceforge上下载OpenCV的源码 2. ...
随机推荐
- 产品 | What's产品经理
如果想知道什么是产品,首先需要知道什么是缔造者.其名曰:"产品经理". PS:产品经理一词在国内大多时候泛指"互联网产品经理". 对于产品经理这一职位,说实在很 ...
- 在mac下运行 npm run eject 出现报错问题解决方法
当使用create-react-app创建项目后,接着运行npm run eject时,如果出现下面的错误 可能是脚手架添加了.gitignore这个文件,但是没有本地仓库,可以使用以下代码解决这个问 ...
- 深入理解bit_or和bit_and,bit_count
bit_or:二进制数按位或,bit_and:二进制数按位与,bit_count:统计二进制数1个个数 下面以一个例子来说明用法:示例要实现的功能就是计算每月有几天有访问,先把示例摘录在这里.1234 ...
- oracle 用户尝试登录失败锁定策略及修改
-- 修改密码的有效期策略, 永不过期SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;Profile altered ...
- 【一】调通单机版的thrift-python版本
开发步骤说明 [任务1]调通单机版的thrift-python版本 [任务1]调通单机版的thrift-python版本 安装thrift 创建thrift模块文件并编译 开发python版的clie ...
- java中stream部分笔记
Stream流表面上看起来与集合类似,允许你转换和检索数据.然而,两者却有显著的不同1.流不存储元素.它们存储在底层的集合或者按需生成2.流操作不改变他们的源数据.例如filter方法不会从一个新流中 ...
- 《Java I/O 从0到1》 - 第Ⅰ滴血 File
前言 File 类的介绍主要会依据<Java 编程思想>以及官网API .相信大家在日常工作中,肯定会遇到文件流的读取等操作,但是在搜索过程中,并没有找到一个介绍的很简洁明了的文章.因此, ...
- 【公司动态添加行】前台穿一个json的字符串到后台,并解析
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...
- Android 模拟器 下载、编译及调试
Android 模拟器源码下载 Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似,可以参考 Google 官方提供的 Android 源码下载文档 来了解这个过程. ...
- yarn 原理
产生背景 直接源于MRv1在几个方面的缺陷 扩展性受限(NameNode,JobTracker设计为单一节点,内存容量有限) 单点故障 难以支持MR之外的计算 slot数目无法动态修改,Map slo ...