大数据学习hadoop3.1.3——Azkaban安装与配置--集群搭建(入门)
一、Azkaban特点Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。它有如下功能特点:1)Web用户界面2)方便上传工作流3)方便设置任务之间的关系4)调度工作流5)认证/授权(权限的工作)6)能够杀死并重新
一、Azkaban特点
Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
它有如下功能特点:
1)Web用户界面
2)方便上传工作流
3)方便设置任务之间的关系
4)调度工作流
5)认证/授权(权限的工作)
6)能够杀死并重新启动工作流
7)模块化和可插拔的插件机制
8)项目工作区
9)工作流和任务的日志记录和审计
二、单机模式
1. 将azkaban-solo-server-3.84.4.tar.gz拷贝到集群,并解压
tar /opt/software/azkaban-solo-server-3.84.4.tar.gz -C /opt/module
2. 启动Azkaban
/opt/module azkaban-solo-server-3.84.4/bin/start-solo.sh
3. 查看浏览器http://hadoop101:8081
用户名和密码:azkban
4. 关闭Azkaban
/opt/module azkaban-solo-server-3.84.4/bin/shutdown-solo.sh
三、集群模式
1、上传tar包
-
将azkaban-db-3.84.4.tar.gz,azkaban-exec-server-3.84.4.tar.gz,azkaban-web-server-3.84.4.tar.gz上传到集群
-
新建/opt/module/azkaban目录,并将所有tar包解压到这个目录下
mkdir azkaban
tar -zxvf /opt/software/azkaban-web-server-3.84.4.tar.gz -C /opt/module/azkaban
tar -zxvf /opt/software/azkaban-exec-server-3.84.4.tar.gz -C /opt/module/azkaban
tar -zxvf /opt/software/azkaban-db-3.84.4.tar.gz -C /opt/module/azkaban
2、设置MySQL
-
正常安装MySQL
-
登陆MySQL,创建Azkaban数据库
mysql>CREATE DATABASE azkaban
- 创建Azkaban用户并赋予权限
安装密码验证插件:
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
show variables like 'validate_password%';
mysql>set global validate_password_length=4;
mysql>set global validate_password_policy=0;
mysql>CREATE USER 'azkaban'@'%' IDENTIFIED BY '1qaz2wsx';
mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
- 创建Azkaban表,完成后退出MySQL
mysql>use azkaban;
mysql>source /opt/module/azkaban/azkaban-db-3.84.4/create-all-sql-3.84.4.sql
mysql>quit;
- 更改MySQL包大小
sudo vim /etc/my.cnf
在[mysqld]下面加一行
[mysqld]
...
max_allowed_packet=1024M
- 重启MySQL
sudo systemctl restart mysqld
3、设置Executor Server
Azkaban Executor Server处理工作流和作业的实际执行。
- 编辑azkaban.properties
vim /opt/module/azkaban/azkaban-exec-server-3.84.4/conf/azkaban.properties
修改如下属性
...
default.timezone.id=Asia/Shanghai
...
azkaban.webserver.url=http://hadoop101:8081
...
database.type=mysql
mysql.port=3306
mysql.host=hadoop101
mysql.database=azkaban
mysql.user=azkaban
mysql.password=1qaz2wsx
mysql.numconnections=100
在最后添加
executor.metric.reports=true
executor.metric.milisecinterval.default=60000
- 同步executor server到所有节点
xsync /opt/module/azkaban/azkaban-exec-server-3.84.4
- 在三台机器上启动并激活executor server
cd /opt/module/azkaban/azkaban-exec-server-3.84.4
bin/start-exec.sh
如果在目录下出现executor.port文件,说明启动成功,下面激活executor
curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo
如果三台机器都出现如下提示,则表示激活成功
{“status”:“success”}
4、设置Web Server
Azkaban Web Server处理项目管理,身份验证,计划和执行触发。
- 编辑azkaban.properties
vim /opt/module/azkaban/azkaban-web-server-3.84.4/conf/azkaban.properties
修改如下属性
...
default.timezone.id=Asia/Shanghai
...
database.type=mysql
mysql.port=3306
mysql.host=hadoop101
mysql.database=azkaban
mysql.user=azkaban
mysql.password=1qaz2wsx
mysql.numconnections=100
...
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
- 修改azkaban-users.xml文件,添加caron用户
vim /opt/module/azkaban/azkaban-web-server-3.84.4/conf/azkaban-users.xml
<azkaban-users>
<user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
<user password="metrics" roles="metrics" username="metrics"/>
<user password="caron" roles="metrics,admin" username="caron"/>
<role name="admin" permissions="ADMIN"/>
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
- 在101启动web server
cd /opt/module/azkaban/azkaban-web-server-3.84.4
bin/start-web.sh
- 访问http://hadoop101:8081,并用caron用户登陆
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)