#安装azkaban
#下面第三个文件放到/opt/download目录下
azkaban-db-3.84.4.tar.gz
azkaban-exec-server-3.84.4.tar.gz
azkaban-web-server-3.84.4.tar.gz
#在/opt/software目录中创建azkaban目录
[root@master01 download]# cd ../software/
[root@master01 software]# mkdir azkaban
#解压
tar -zxvf azkaban-db-3.84.4.tar.gz -C /opt/software/azkaban/
tar -zxvf azkaban-web-server-3.84.4.tar.gz -C /opt/software/azkaban/
tar -zxvf azkaban-exec-server-3.84.4.tar.gz -C /opt/software/azkaban/
#重命名
[root@master01 download]# cd ../software/
mv azkaban-db-0.1.0-SNAPSHOT/ azkaban-db
mv azkaban-web-server-0.1.0-SNAPSHOT/ azkaban-web
mv azkaban-exec-server-0.1.0-SNAPSHOT/ azkaban-exec
#设置root用户mysql本地与远程登录权限登录设置或修改密码
#grant all on *.* to root@localhost identified by 'ok';#本地登录
#grant all on *.* to root@'%' identified by 'ok';#远程连接
#flush privileges;
#安装azkaban前,在mysql中创建azkaban数据库,用户名:azkaban,密码:azkaban;
mysql>create database azkaban;
mysql> create user 'azkaban'@'%' identified by 'azkaban'; #创建用户名和密码, '%':表示对任何地址都可以登录
mysql> create user 'azkaban'@'localhost' identified by 'azkaban'; # 'localhost':表示允许用户本地登录
#对所有连接方式(远程或本地),授权用户azkaban对数据库azkaban.*(所有匹配的数据库)"增删改查"操作权限
mysql> grant select,insert,update,delete on azkaban.* to 'azkaban'@'%' with grant option;
#退出,重新登录azkaban数据库
mysql> Ctrl-C -- exit!
mysql -uazkaban -hsingle01 -pazkaban
#创建azkaban存储在mysql中的元数据表格(35个) (MySQL 数据库 source 命令,该命令是数据库导入命令)
#创建元数据表格的脚本:create-all-sql-0.1.0-SNAPSHOT.sql
use azkaban;
source /opt/software/azkaban/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql;
#如果报错,没有35个表格,重新用root用户登录,在执行下面的语句创建azkaban数据库;然后再重新执行上面的语句
create database azkaban default CHARACTER set Latin1 collate latin1_swedish_ci;
#Azkaban Excutor 执行服务器 配置
[root@master01 azkaban]# cd azkaban-exec/
[root@master01 azkaban-exec]# pwd
/opt/software/azkaban/azkaban-exec
[root@master01 azkaban-exec]# ls conf/
azkaban.properties global.properties log4j.properties
[root@master01 azkaban-exec]# vim conf/azkaban.properties
7 default.timezone.id=Asia/Shanghai
21azkaban.webserver.url=http://192.168.43.200:8081
44 mysql.host=192.168.43.200
52 executor.port=12321
[root@master01 azkaban-exec]# vim plugins/jobtypes/commonprivate.properties
# set execute-as-user
execute.as.user=false
azkaban.native.lib=false
#开启执行器服务
(base) [root@single01 azkaban-exec]# ./bin/start-exec.sh
(base) [root@single01 azkaban-exec]# jps
16066 AzkabanExecutorServer
16094 Jps
#激活执行器
curl -G "single01:12321/executor?action=activate" && echo
(base) [root@single01 azkaban-exec]# cd ../azkaban-web/
(base) [root@single01 azkaban-web]# vim ./conf/azkaban.properties
7 default.timezone.id=Asia/Shanghai
41 mysql.host=192.168.43.200
48 #MinimumFreeMemory
49 azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
#在azkaban-users.xml文件中,创建用户
(base) [root@single01 azkaban-web]# vim ./conf/azkaban-users.xml
<user password="123456" roles="admin" username="kb16"/>
#=====================================================================================
#下面是一个添加用户,添加组,添加角色的标准范本(每个组,一个角色,共享权限;每个角色,都设置权限)
<azkaban-users>
<user username="admin" password="admin" roles="admin" groups="admin" />
<user username="zhangsan" password="zhangsan" groups="group_user" />
<user username="lisi" password="lisi" groups="group_user" />
<user username="metrics" password="metrics" roles="metrics"/>
<user username="azkaban" password="azkaban" groups="group_inspector"/>
<group name="group_user" roles="user" />
<group name="group_inspector" roles="inspector" />
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
<role name="user" permissions="READ,WRITE,EXECUTE,SCHEDULE,CREATEPROJECTS"/>
<role name="inspector" permissions="READ"/>
<role name="write" permissions="WRITE"/>
<role name="execute" permissions="EXECUTE"/>
<role name="schedule" permissions="SCHEDULE"/>
<role name="createprojects" permissions="CREATEPROJECTS"/>
</azkaban-users>
配置后重启azkaban-web-server。
admin用户拥有超级管理员权限,可以给其他用户赋权限。
在group_user用户组下的用户,拥有使用azkaban的权限,可以创建project,读写执行,调度。
在group_inspector用户组下的用户,拥有审查员权限,只能读。也就是只能看project项目,flow,看执行日志,但是不能更改。
#==================================================================================================
ADMIN | Grants all access to everything in Azkaban. |
READ | Gives users read only access to every project and their logs |
WRITE | Allows users to upload files, change job properties or remove any project |
EXECUTE | Allows users to trigger the execution of any flow |
SCHEDULE | Users can add or remove schedules for any flows |
CREATEPROJECTS | Allows users to create new projects if project creation is locked down |
(base) [root@single01 azkaban-web]# ./bin/start-web.sh
(base) [root@single01 azkaban-web]# jps
27409 Jps
27364 AzkabanWebServer
20170 AzkabanExecutorServer
#登录
192.168.43.200:8081
kb16
123456