开发者学堂课程【Azkaban 大数据调度系统课程精讲:Azkaban--安装部署--solo server 模式安装--azkaban 使用初体验 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/721/detail/12875
Azkaban--安装部署--solo server 模式安装--azkaban 使用初体验
内容介绍:
一、节点规划
二、解压配置
三、启动验证
四、登陆 web 页面
五、初体验测试
六、小结
一、节点规划
HOST |
角色 |
node-1 |
Web Server和Executor Server 同一进程 |
1、azkaban 当中 solo server 模式部署方式,这个模式称之为单节点模式,web 服务器和 Executor 服务器在同一个进程当中,主要用于测试和体验环节,通过这个模式更多的感受 azkaban 完整的工作流开发过程。
针对集群做一个规划,只有一台机器,在 node-1 服务器上安装 solo Server 服务器,当 Web Server 和 Executor Server 都会在同一进程中,在这种模式下所需要的安装包只有一个叫做 azkaban solo server,其他的都不需要。
二、解压配置
打开服务器,cd 到常见的安装软件包的路径,把 azkaban solo Serve 拖拽进来,注意当下模式只需要这一个包,连数据库都不需要,因为它使用自带的数据库,上传完成后,做解压操作,cd 到解压后的目录中,针对单节点模式,配置比较简单,首先配置 azkaban.properties,修改时区,因为当下在中国开发,默认都是东8区,直接复制命令。
mkdir /export/servers/azkaban
tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz-C /export/servers/azkaban/
vim conf/azkaban.properties
默认的时区是美国洛杉矶,要改成上海,日期格式不能随便写,大小写有规定,注意当数字粘贴完成后不要多打空格。
default.timezone.id= Asia/Shanghai
#修改时区
Vim pluqins/jobtypes/commonprivate.properties
添加: memCheck.enabled =false 避免虚拟机中内存不足出现问题。
azkaban 默认需要3G 的内存,剩余内存不足则会报异常,在体验时可以做相应的修改。
database.type=h2数据库类型 h2
h2. path=. /h2路径在安装包的根目录下
h2. create. table s=true
不用创建,直接使用即可,非常方便。
三、启动验证
在安装包的根目录下直接 bin/start-solo 启动,注意,它告诉启动的命令在b目录下,如果到目录下启动,会发现启动成功但是没有进程。所以要求必须在安装包的根目录下启动,cd..返回到上一级,bin/start 进行启动,使用 jps,就会发现多了一个 AzkabanSingleServer。
cd azkaban-solo-server-0.1.0-SNAPSHOT/
bin/start-solo.sh
注:启动/关闭必须进到 azkaban-solo-server-0.1.0-SNAPSHOT/目录下。
AzkabanSingleServer(对于 Azkaban solo-server 模式, Exec Server 和 Web Server 在同一个进程中)
四、登陆 web 页面
访问 Web Server=>http://node-1:8081/默认用户名密码 azkaban
输入用户名和密码。
登陆到 Azkaban web 页面。从左到右依次是工程,在 Azkaban 中项目是以工程存在的。
当前正在调度的工程。
正在执行的工程。
执行完毕的工程。
所有操作基于工程进行相关的创建。
五、初体验测试
http://node-1:8081/index 登录=>Create Project=>Upload zip 包=>execute flow 执行一步步操作即可。
创建两个文件 one.job two.job,内容如下,打包成 zip 包。
打开参考资料,在资料中安装部署配置 solo 模式。
第一个是 one.job,右键点击。
#one. job
type=command 类型
Command=echo "this is job one"命令,show 命令,输出一句话
第二个 two.job,右键点击。
# two.job
type= command
Dependencies=one
依赖于 one,根据后面的名字进行寻找,依赖于它,它执行完后再执行,任何一个软件只要最后能转化成 command 稀有脚本,都可以调度执行。把两个配置文件达成 zip 的压缩包。
command=echo "this is job two"
cat one.job
type=command
command=echo "this is job one"
cat two.job
type=command
dependencies=one
command=echo "this is job two"
创建工程:azkaban_ demo
点击 upload 上传压缩包,solo.zip。
点击查看,列举出当前工程的依赖。
点击右上角按钮 Schedule/Execute Flow 调用或执行,打开后如果点击左边就是调度,点击右边就是执行。点击执行。
通过 job list 查看,时间曲线百分之百是先一后二,如果出错,可以点击 details,查看相关信息,this is job one,this is job two,完成调度。
六、小结
1、安装部署
(1)单节点部署模式,注意时区,内存检测的关闭。
(2)启动时候必须在安装包的根目录下进行启动。
bin/start-solo.sh 正确
./start-solo.sh 错误
2、azkaban 开发流程
(1)编写 job 的配置文件 xxxx.job。
type=command
command=xxxx
(2)把所有 job 配置打成一个 zip 的压缩包。
(3)登录页面 node-1:8081创建工程(默认用户名密码都是 azkaban)。
(4)上传 zip 压缩包。
(5)选择调度 schduler 或者立即执行 executor 工程。