Azkaban soloserver

1.安装部署

1.下载

https://github.com/azkaban/azkaban

2.编译

下载完成后解压,进入目录,执行如下操作:

./gradlew build -x test

编译没什么坑,网速可以的话,很快就编译完了

3.简单配置

编译结束后,进入解压目录下的/azkaban-solo-server/build/distributions目录
在这里插入图片描述
两个都可以解压,随便解压一个,进入解压后的目录,cd到conf目录,配置如下两文件
在这里插入图片描述
azkaban-users.xml可以对登陆用户名密码进行增删查改
这里要注意,在添加 用户时,roles为admin,如果不是admin,创建project会有问题
azkaban.properties可以进行一些配置

4.启动solo-server服务

执行3步骤中解压目录下/bin/start-soloserver.sh脚本,可以在local下查看启动日志,
正常如果配置文件没问题,启动也没问题,对应端口号是8081

5.在浏览器中打开host:8081

显示如下
Azkaban soloserver_第1张图片
这里的用户名密码可在步骤3中进行配置,登入后便可以使用

2.简单使用

1.创建一个project

Azkaban soloserver_第2张图片
创建如下:
在这里插入图片描述
创建project成功后,可以上传工作流去执行。具体一个工作流怎么创建如下
azkaban提供了两种方式来创建工作流,1.0将不再被维护,所以这里使用zkaban-flow-version: 2.0
参照azkaban官方文档实践一次

	1.
		$ mkdir azkaban_helloworld
		$ cd azkaban_helloworld
		$ touch flow20.project
		
		在flow20.project添加如下内容,这句话表明这是Flow 2.0 Azkaban项目
		azkaban-flow-version: 2.0
	2.
		$ vi basic.flow
		
		在其中添加官网模版			
	
	nodes:
	  - name: jobC
	    type: noop
	    # jobC depends on jobA and jobB
	    dependsOn:
	      - jobA
	      - jobB
	
	  - name: jobA
	    type: command
	    config:
	      command: echo "This is an echoed text."
	
	  - name: jobB
	    type: command
	    config:
	      command: pwd

	完成后,将azkaban_helloworld打成zip包,一定是zip,其他不支持

	$ zip -r azkaban_helloworld.zip azkaban_helloworld
	  adding: azkaban_helloworld/ (stored 0%)
	  adding: azkaban_helloworld/basic.flow (deflated 52%)
	  adding: azkaban_helloworld/flow20.project (stored 0%)

直观可以看出,jobC执行依赖于jobA和jobB

2.上传一个Flow

在这里插入图片描述
Azkaban soloserver_第3张图片
将刚才打好的zip包upload上去,如下所示:
Azkaban soloserver_第4张图片
点击在这里插入图片描述
我们可以直观看到不同job之间的依赖关系,点击continue便可以执行,点击左下角的Schedule可以进行定时作业的设置
Azkaban soloserver_第5张图片
同时,在上图中,也可以右键job对job进行操作
图左边的几个操作,也很直观,可根据需要使用

需要修改命令的话,可以直接点击jobA,jobB,jobC,进行命令编辑,便无需再次打包上传
Azkaban soloserver_第6张图片
Azkaban soloserver_第7张图片

你可能感兴趣的:(Azkaban)