Azkaban

Azkaban的线程系列 37:QueueProcessor线程的任务处理&executor存活监控

a 夏天 提交于 2020-03-01 14:15:29
有个线程, AzkabanWebServer-QueueProcessor-Thread. 下面分析下这个线程到底干嘛的!!! ==================================================================================== stop in azkaban . executor . ExecutorManager $ QueueProcessorThread .run ==================================================================================== public void run() { // Loops till QueueProcessorThread is shutdown while (! shutdown ) { // 一直循环 synchronized ( this ) { // try { // start processing queue if active, other wait for // sometime if ( isActive ) { // 开始处理任务 processQueuedFlows( activeExecutorRefreshWindowInMilisec ,

Azkaban API 接口文档汇总

陌路散爱 提交于 2020-03-01 13:48:14
Authenticate Create a Project Delete a Project Upload a Project Zip Fetch Flows of a Project Fetch Jobs of a Flow Fetch Executions of a Flow Fetch Running Executions of a Flow Execute a Flow Cancel a Flow Execution Schedule a period-based Flow (Deprecated) Flexible scheduling using Cron Fetch a Schedule Unschedule a Flow Set a SLA Fetch a SLA Pause a Flow Execution Resume a Flow Execution Fetch a Flow Execution Fetch Execution Job Logs Fetch Flow Execution Updates 1. Authenticate 获取user session id Method: POST Request URL: /?action=login Parameter Location: Request Query String Request

1.编译azkaban

你。 提交于 2020-02-03 03:26:10
1.下载azkaban的源码 https://github.com/azkaban/azkaban.git 然后解压得到azkaban-master.zip,解压:unzip azkaban-master.zip 2.编译源码 进入azkaban-master目录,执行 # Build Azkaban ./gradlew build # Clean the build ./gradlew clean # Build and install distributions ./gradlew installDist # Run tests ./gradlew test # Build without running tests ./gradlew build -x test 一开始会下gradle-4.0.2-all.zip,可能会下很慢.那么手动下载gradle-4.0.2-all.zip: https://services.gradle.org/distributions/gradle-4.0.2-all.zip 下载完成后,找到之前grad命令下载的文件的位置: [root@bqbpm2 ~]# find . -name gradle-4.0.2* ./.gradle/wrapper/dists/gradle-4.0.2-all ./.gradle/wrapper/dists

Azkaban的架构(三)

孤街浪徒 提交于 2020-01-27 04:37:12
Azkaban是什么?(一) Azkaban的功能特点(二) Azkaban的架构(三)   不多说,直接上干货! http://www.cnblogs.com/zlslch/category/938837.html   目前,市面上最流行的两种Hadoop工作流引擎调度器Azkaban与Oozie。 具体,可以进一步看我的博客。   Azkaban概念学习系列 http://www.cnblogs.com/zlslch/category/938837.html   和Oozie概念学习系列 http://www.cnblogs.com/zlslch/category/916607.html   下面的表格对上述2种hadoop工作流调度器的关键特性进行了比较,尽管这些工作流调度器能够解决的需求场景基本一致,但在设计理念,目标用户,应用场景等方面还是存在区别。 特性 Oozie Azkaban 工作流描述语言 XML (xPDL based) text file with key/value pairs 依赖机制 explicit explicit 是否要web容器 Yes Yes 进度跟踪 web page web page Hadoop job调度支持 yes yes 运行模式 daemon daemon Pig支持 yes yes 事件通知 no no 需要安装 yes

azkaban3.x安装

做~自己de王妃 提交于 2020-01-07 17:48:21
一、下载azkaban 官网:https://azkaban.github.io/downloads.html GitHub下载地址:https://github.com/azkaban/azkaban 下载: [root@salt ~]# git clone https://github.com/azkaban/azkaban.git 二、安装 1、构建 我这里没有用git下载,是直接下载的压缩包,不过都问题不大; 1、编译成tar包(如果不是第一次构建需要先clean,执行:./gradlew clean) [root@salt azkaban]# cd /opt/azkaban/azkaban-3.81.0/ [root@salt azkaban]# vim azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java 将final boolean isExecuteAsUser = this.sysProps.getBoolean(EXECUTE_AS_USER, true); 里面的true修改为false [root@salt azkaban-3.81.0]# ./gradlew distTar #最后会显示:BUILD SUCCESSFUL 2、把相应的tar包复制出来 [root@salt

大数据开发必须掌握的五大核心技术

痴心易碎 提交于 2020-01-02 17:07:53
大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算、可视化等各种技术范畴和不同的技术层面。首先给出一个通用化的大数据处理框架,主要分为下面几个方面:数据采集与预处理、数据存储、数据清洗、数据查询分析和数据可视化。 一、数据采集与预处理 对于各种来源的数据,包括移动互联网数据、社交网络的数据等,这些结构化和非结构化的海量数据是零散的,也就是所谓的数据孤岛,此时的这些数据并没有什么意义,数据采集就是将这些数据写入数据仓库中,把零散的数据整合在一起,对这些数据综合起来进行分析。数据采集包括文件日志的采集、数据库日志的采集、关系型数据库的接入和应用程序的接入等。在数据量比较小的时候,可以写个定时的脚本将日志写入存储系统,但随着数据量的增长,这些方法无法提供数据安全保障,并且运维困难,需要更强壮的解决方案。 Flume NG作为实时日志收集系统,支持在日志系统中定制各类数据发送方,用于收集数据,同时,对数据进行简单处理,并写到各种数据接收方(比如文本,HDFS,Hbase等)。Flume NG采用的是三层架构:Agent层,Collector层和Store层,每一层均可水平拓展。其中Agent包含Source,Channel和 Sink,source用来消费(收集)数据源到channel组件中

azkaban 多执行端部署验证

我的未来我决定 提交于 2019-12-31 13:31:45
azkaban web 端添加配置 azkaban.properties: azkaban web 端添加配置 azkaban . properties azkaban . use . multiple . executors = true azkaban . executorselector . filters = StaticRemainingFlowSize , MinimumFreeMemory , CpuStatus azkaban . executorselector . comparator . NumberOfAssignedFlowComparator = 1 azkaban . executorselector . comparator . Memory = 1 azkaban . executorselector . comparator . LastDispatched = 1 azkaban . executorselector . comparator . CpuUsage = 1 azkaban . activeexecutor . refresh . milisecinterval = 1000 azkaban . activeexecutor . refresh . flowinterval = 1 azkaban . executorinfo .

azkaban使用教程

☆樱花仙子☆ 提交于 2019-12-29 10:49:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 登录 https://localhost:8443 注意是https,采用的是jetty ssl链接。输入账号密码azkaban/azkanban(如果你之前没有更改的话) 首页有四个菜单 projects:最重要的部分,创建一个工程,所有flows将在工程中运行。 scheduling:显示定时任务 executing:显示当前运行的任务 history:显示历史运行任务 主要介绍projects部分 首先创建一个工程,填写名称和描述,比如o2olog。 type=command command=echo "data 2 hive" 一个简单的job就创建好了,解释下,type的command,告诉azkaban用unix原生命令去运行,比如原生命令或者shell脚本,当然也有其他类型,后面说。 一个工程不可能只有一个job,我们现在创建多个依赖job,这也是采用azkaban的首要目的。 flows创建 我们说过多个jobs和它们的依赖组成flow。怎么创建依赖,只要指定dependencies参数就行了。比如导入hive前,需要进行数据清洗,数据清洗前需要上传,上传之前需要从ftp获取日志。 定义5个job: o2o_2_hive.job:将清洗完的数据入hive库 o2o_clean_data.job

大数据-Azkaban实战

£可爱£侵袭症+ 提交于 2019-12-28 05:08:58
3. Azkaban实战 Azkaba内置的任务类型支持command、java 3.1. Command 类型单一 Job 示例 Step 1: 创建 Job 描述文件 创建文本文件,更改名称为mycommand.job 注意后缀.txt一定不要带上,保存为格式为 UFT-8 without bom 内容如下 type = command command = echo 'hello world' Step 2: 将job资源文件打包成zip文件 Step 3: 创建project并上传压缩包 通过azkaban的web管理平台创建project并上传job压缩包 首先创建project 上传zip包 Step 4: 启动执行job 3.2. Command 类型多 Job 示例 Step 1: 创建有依赖关系的多个job描述 第一个job:foo.job type = command command = echo 'foo' 第二个job:bar.job依赖foo.job type = command command = echo 'bar' dependencies = foo Step 2: 将所有job资源文件打到一个zip包中 Step 3: 在azkaban的web管理界面创建工程并上传zip包 Step 4: 启动工作流flow 3.3. HDFS 操作任务 Step

azkaban 安装

 ̄綄美尐妖づ 提交于 2019-12-28 00:59:05
1. 解压安装文件   链接:https://pan.baidu.com/s/1FIaWr1vh0Eqgicjx7sPuyw   提取码:zpib 2. 进入解压目录, 启动 bin/azkaban-solo-start.sh  ( 注意:必须 bin/ 这样启动, 不然找不到路径 ) 3. 浏览器输入 http://localhost:8082 (默认端口应该是8081) 默认 用户名:azkaban, 密码:azkaban 4.使用方法   1. 当页面可以访问: http://localhost:8082 后,windows下记事本新建 job 文件,例如, offline.job, 写入内容如下:     command 只是一种配置类型 type=command command=/home/cmcc/server/spark-2.3.0-bin-hadoop2.7/bin/spark-submit --class com.atguigu.offine.OfflineRecommender /home/cmcc/server/offline/offineRecommender.jar   2. 将建立好的 offline.job 文件打包成 zip 格式的压缩包 Desktop.zip 文件名随便, 可以同时将多个 job 文件都打包到这个 zip 压缩包中   3. 进入