1、下载:https://github.com/azkaban/azkaban/releases
2、上传到software目录下,并解压到当前目录
xft上传
cd /export/software
tar -zxvf azkaban-3.50.1.tar.gz
3、安装git
yum -y install git
4、编译源文件
进入azkaban目录
./gradlew build -x test
5、MySQL安装配置,前期已经在hadoop01上安装过
6、hadoop01登录数据库:mysql -uroot -p
创建数据库:create database azkaban;
7、复制会话
vi /etc/my.cnf
增加:max_allowed_packet=1024M
systemctl restart mariadb
8、cd /export/software/azkaban-3.50.1/azkaban-db/build/distributions
解压:tar -xzvf azkaban-db-0.1.0-SNAPSHOT.tar.gz
9、回到hadoop01源节点
MariaDB [(none)]> use azkaban;
MariaDB [(none)]> source /export/software/azkaban-3.50.1/azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql
MariaDB [azkaban]> show tables;
+--------------------------+
| Tables_in_azkaban |
+--------------------------+
| QRTZ_BLOB_TRIGGERS |
| QRTZ_CALENDARS |
| QRTZ_CRON_TRIGGERS |
| QRTZ_FIRED_TRIGGERS |
| QRTZ_JOB_DETAILS |
| QRTZ_LOCKS |
| QRTZ_PAUSED_TRIGGER_GRPS |
| QRTZ_SCHEDULER_STATE |
| QRTZ_SIMPLE_TRIGGERS |
| QRTZ_SIMPROP_TRIGGERS |
| QRTZ_TRIGGERS |
| active_executing_flows |
| active_sla |
| execution_dependencies |
| execution_flows |
| execution_jobs |
| execution_logs |
| executor_events |
| executors |
| project_events |
| project_files |
| project_flow_files |
| project_flows |
| project_permissions |
| project_properties |
| project_versions |
| projects |
| properties |
| triggers |
+--------------------------+
29 rows in set (0.00 sec)
10、Azkaban Web服务安装配置
在复制的会话中:cd /export/software
生成SSL密钥库:keytool -keystore keystore -alias jetty -genkey -keyalg RSA
(密码都是输123456,其他回车;is correct:Y)
执行完后,会在当前目录生成一个keystore
11、mkdir /export/servers/azkaban
cd /export/software/azkaban-3.50.1/azkaban-web-server/build/distributions
tar -xzvf azkaban-web-server-0.1.0-SNAPSHOT.tar.gz -C /export/servers/azkaban/
cd /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT
mkdir extlib
cd /export/software/azkaban-3.50.1/azkaban-solo-server/build/distributions
tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz
cd azkaban-solo-server-0.1.0-SNAPSHOT
cp -r conf /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/
cp -r plugins /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/
cd /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT/
12、修改web服务器conf下的azkaban.properties
[root@hadoop01 conf]# cat azkaban.properties
# Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml
# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=123456
mysql.numconnections=100
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.use.ssl=true
jetty.maxThreads=25
jetty.port=8081
jetty.ssl.port=8443
jetty.keystore=keystore
jetty.password=123456
jetty.keypassword=123456
jetty.truststore=keystore
jetty.trustpassword=123456
# Azkaban Executor settings
executor.port=12321
# mail settings
mail.sender=
mail.host=
# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
# when this parameters set then these parameters are used to generate email links.
# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
# azkaban.webserver.external_hostname=myazkabanhost.com
# azkaban.webserver.external_ssl_port=443
# azkaban.webserver.external_port=8081
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# Azkaban plugin settings
azkaban.jobtype.plugin.dir=plugins/jobtypes
13、
cd ..
cp -r /export/software/keystore .
cd conf
vi azkaban-users.xml
增加一行:<user password="admin" roles="metrics,admin" username="admin"/>
14、配置log4j.properties
log4j.rootLogger=INFO,Console
log4j.logger.azkaban=INFO,server
log4j.appender.server=org.apache.log4j.RollingFileAppender
log4j.appender.server.layout=org.apache.log4j.PatternLayout
log4j.appender.server.File=logs/azkaban-server.log
log4j.appender.server.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS Z} %p [%c{1}] [Azkaban] %m%n
log4j.appender.server.MaxFileSize=102400MB
log4j.appender.server.MaxBackupIndex=2
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss.SSS Z} %p [%c{1}] [Azkaban] %m%n
15、Azkaban Executor服务安装配置
cd /export/software/azkaban-3.50.1/azkaban-exec-server/build/distributions/
tar -zxvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C /export/servers/azkaban/
cp -r ../azkaban-web-server-0.1.0-SNAPSHOT/conf .
cp -r ../azkaban-web-server-0.1.0-SNAPSHOT/plugins/ .
cp -r ../azkaban-web-server-0.1.0-SNAPSHOT/extlib/ .
16、修改azkaban.properties,修改jetty.use.ssl=false,将后面jetty相关内容删除
增加以下内容:
executor.maxTreads=50
executor.port=12321
executor.flow.threads=30
整体内容如下:
[root@hadoop01 conf]# cat azkaban.properties
# Azkaban Personalization Settings
azkaban.name=Test
azkaban.label=My Local Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=web/
default.timezone.id=Asia/Shanghai
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=conf/azkaban-users.xml
# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=123456
mysql.numconnections=100
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.use.ssl=false
# Azkaban Executor settings
executor.port=12321
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
# mail settings
mail.sender=
mail.host=
# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
# when this parameters set then these parameters are used to generate email links.
# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
# azkaban.webserver.external_hostname=myazkabanhost.com
# azkaban.webserver.external_ssl_port=443
# azkaban.webserver.external_port=8081
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# Azkaban plugin settings
azkaban.jobtype.plugin.dir=plugins/jobtypes
17、启动Azkaban Executor
[root@hadoop01 azkaban-exec-server-0.1.0-SNAPSHOT]# pwd
/export/servers/azkaban/azkaban-exec-server-0.1.0-SNAPSHOT
[root@hadoop01 azkaban-exec-server-0.1.0-SNAPSHOT]# bin/start-exec.sh
[root@hadoop01 azkaban-exec-server-0.1.0-SNAPSHOT]# ls
bin currentpid executorServerLog__2020-06-27+11:58:46.out lib plugins
conf extlib
18、如果出现以下错误:
Starting AzkabanExecutorServer on port 12321
12321 ...
Error: Could not find or load main class 12321
A 检查自己的配置文件是否有多个端口配置
B 换个端口试一下,看看是否能够启动
19、启动Azkaban Web服务
cd /export/servers/azkaban/azkaban-web-server-0.1.0-SNAPSHOT
[root@hadoop01 azkaban-web-server-0.1.0-SNAPSHOT]# bin/start-web.sh
[root@hadoop01 azkaban-web-server-0.1.0-SNAPSHOT]# ls
bin conf currentpid extlib keystore lib logs plugins web webServerLog_2020-06-27+12:02:54.out
[root@hadoop01 azkaban-web-server-0.1.0-SNAPSHOT]# jps
1632 ResourceManager
1361 DataNode
1735 NodeManager
44602 AzkabanExecutorServer
44651 AzkabanWebServer
44683 Jps
1260 NameNode
20、UI界面输入地址:https://hadoop01:8443
并接受风险并继续
本地创建两个文件foo.job和bar.job压缩后命名为bar.zip,在UI界面创建工程并上传执行,查看效果
21、案例演示——MapReduce任务调度管理
注意:需要上传wctest.txt文件到相应目录下
查看yarn运行情况
22、HIve脚本任务调度管理