Azkaban--使用实战--shell、command 调度 | 学习笔记

简介: 快速学习 Azkaban--使用实战--shell、command 调度

开发者学堂课程【Azkaban 大数据调度系统课程精讲Azkaban--使用实战--shell、command 调度学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/721/detail/12879


Azkaban--使用实战--shell、command 调度


shell.command 调度:

下面学习 Azkadan shell.command 调度。Azkadan 之所以功能强大,就在于 shell.command 的执行。任何一个软件,只要都可以通过 shell.command 执行启动的话,都可以转化为 Azkadan 执行。

针对 shell.command 调度,Azkadan 支持两种方式执行。

1. 把要执行的命令直接写死在交互文件中

2. 如果执行命令较多且复杂,可以单独写一个 shell 脚本,与 Azkadan 一起调度这个脚本。

接下来演示具体的操作步骤:

1、打开参考资料——Azkadan——job 配置模板

2、创建 job 描述文件

这个文件内容不会太多,第一行通常都是: type=command,第二行写的是命令执行的内容:command=echo hello’,相当于 Java 里的 system out break,直接输出一句话,可以把这个命令行转成一个 shell 脚本。

接下来打开 job 配置模板——command 文件夹,文件夹下有三个文件,分别是:command1.job command2.job hello.sh

image.png

(1): command1.job 文件中,命令 command=echo hello’ 写死在脚本中,执行的命令与 Azkadan 的配置是耦合在一起的,直接写在它的配置中。

(2): command2.job 文件中,命令 command=sh hello.sh 调用了一个 shell 脚本,所以具体做的事情就可以放在这个 hello.sh 脚本当中,相当于脚本与 Azkadan 任务配置进行耦合。

(3): hello.sh 这个脚本中

#/bin/bash  //是一个 bash 的显示及路径。

date>/root/hello.txt //当前时间 date 定向输出/root/hello.txt

文件里。

3、job 资源文件打包成 zip 文件

zip command.job(必须为 zip 格式,不考虑其他格式)

这里选择第二种 command2.job 文件配置和 hello.sh 脚本为例:

选中两个文件右键选择加到压缩档选项,之后选择 zip 格式。这样就完成了本地配置文件的编写。

image.png

4、通过 azkaban web 管理平台创建 project 并上传 job 压缩包

打开浏览器 http://node-2:8443/index.Azkadan 强调一个 project 对应一个 zip 的项目描述,因此进行任务调度和依赖配置的时候,都要放在一个压缩包。

(1) :首先创建 project

点击 Azkaban 界面的 Create Project,创建这个工程

image.png

image.png

(2):上传 zip

当前这是一个空工程,点击 Upload 进行执行操作,选择之前编辑的压缩包 zip command.job 上传到工程里,这样就完成了 zip 上传。

在这个工程就出现了 command2工作流的一个描述,即 summary

点击 summary,可以看到 command2 里面的相关信息以及图结构等等。因为现在只上传了 command2 一个模块,所以不能体现出工作流的概念,如果后面配置很多,就可以连成一个线,形成工作流。

image.png

5、工作流的执行

那么配置且上传好文件,接下来就是针对工作流的执行。

点击 Schedule/Execute.Flow

image.png

这个工程有两种选择:

1、想要立即手动执行获得效果,选择 Execute。

2、想要配置周期性的任务调度,选择 Schedule。

image.png

先点击 Execute,之后点击 Continue,立即执行。观察一下效果:是否能正常执行 shell 脚本以及执行的结果是否正确。

执行之后,报出 SUCCEEDED,如果出错,会报出 FAILED,同时出现红色标识的内容。

image.png

成功之后,点击 Flow Log,查看工作日志。

image.png

这里面的相关信息观察到:

这个工作流是在 Assigned excutor:node-2:12321 上执行的。如果布置的是多个 excutor 的模式,可以看到相关方式。

点击 Job List 里的 Details,查看执行结果的相关信息

image.png

image.png

验证执行结果:打开 hello.sh ,这个文件的脚本命令是把当前时间 date 定向输出/root/hello.txt 文件里。通过日志已经判断这个工作流是在 Assigned excutor:node-2:12321 上执行的。接下来打开服务器 node-2,发现 root 目录下有 hello.txt,再输入 Pwdcat hello.txt 进行验证,这样就把时间打印到这个文件里了。

image.png

以上是 Execute 的调度方式

总结针对 shell 命令行的调度方法:

1、一种可以把命令写死在程序里,如 command=echo ‘hello’

2、一种把脚本提取出出来,变成一个单独的 shell 脚本,使用 xx.sh 进行调度。

以上就是 shell-command 的调度配置,整体都是通过页面进行操作。

相关文章
|
7月前
|
Shell
shell脚本实战示例
shell脚本实战示例
92 6
|
7月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
117 0
|
7月前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
120 0
|
7月前
|
Shell 索引
shell脚本入门到实战(四)- 数组
shell脚本入门到实战(四)- 数组
|
3月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
3月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
3月前
|
存储 Java Shell
shell学习笔记(详细整理)
这篇文章是一份详细的Shell学习笔记,涵盖了Shell的基础知识、脚本编写、变量、运算符、条件判断、流程控制、函数以及常用Shell工具的使用。
71 1
|
6月前
|
移动开发 监控 安全
【实战指南】从零构建嵌入式远程Shell,提升跨地域协作效率
构建嵌入式远程Shell的文章概述: - 目标:解决嵌入式软件测试中的远程调试难题,提供轻量级解决方案。 - 功能:包括远程交互、命令执行与反馈,强调多客户端并发连接和稳定性。 - 设计:基于Socket服务端架构,使用I/O多路复用和popen函数,确保命令执行与结果反馈。 - 需求:支持命令解析、执行和结果回传,考虑网络不稳定情况下的连接保持。 - 安全性:仅限内部调试,未详细讨论加密等安全措施。 - 实现:关注点在Socket服务端程序,包括监听、数据过滤和命令处理。 - 测试:通过 Telnet 和Windows网络助手验证连接和命令执行功能。
343 71
|
7月前
|
监控 Shell
Shell脚本实战教学
Shell脚本实战教学
80 5
|
7月前
|
Java Shell Linux
Shell编程 学习笔记
Shell编程 学习笔记
101 1