Ambari 安装 Azkaban 二

253 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

创建mysql

  1. 为Azkaban创建数据库:
# Example database creation command, although the db name doesn't need to be 'azkaban'
mysql> CREATE DATABASE azkaban;
  1. 为Azkaban创建一个mysql用户。例如,:
# Example database creation command. The user name doesn't need to be 'azkaban'
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password';
# give the user INSERT, SELECT, UPDATE, DELETE permission on all tables in the Azkaban db.
mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to '<username>'@'%' WITH GRANT OPTION;
  1. Mysql数据包大小可能需要重新配置。默认情况下,MySQL的可允许数据包大小可能低得离谱。要增加它,您需要将属性max_allowed_pa​​cket设置为一个更大的数字,例如1024M。要在linux中配置它,请打开/etc/my.cnf。在mysqld之后的某处,添加以下内容:
[mysqld]
...
max_allowed_packet=1024M
  1. 要重启MySQL,您可以运行:
$/bin/systemctl restart mysqld.service

修改配置

文件路径/configuration/

azkaban-db.xml

<property>
    <name>mysql.host</name>
    <value><your mysql server></value>
</property>

azkaban-executor.properties.xml

...
<property>
    <name>azkaban.webserver.url</name>
    <value>http://<your webserver>:10200</value>
</property>
...
<property>
    <name>mysql.host</name>
    <value><your mysql server></value>
</property>
...
#这步不用改,这里是解决我下面所说的问题添加的
<property>
    <name>executor.port</name>
    <value>12321</value>
</property>

azkaban-web.properties.xmll

<property>
    <name>mysql.host</name>
    <value><your mysql server></value>
</property>

修改文件

文件位置/package/scripts/ download.ini

azkaban_web_url = <your repo>/azkaban-web-server-0.1.0-SNAPSHOT.tar.gz
azkaban_executor_url = <your repo>/azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz
azkaban_db_url = <you repo>/create-all-sql-0.1.0-SNAPSHOT.sql

问题

Azkaban Web Server启动一段时后自动停,查看日志

cat webServerLog_2020-02-06+15\:24\:03.out 
ERROR [ExecutorManager] No active executors found
ERROR [StdOutErrRedirect] Exception in thread "main" 
ERROR [StdOutErrRedirect] azkaban.executor.ExecutorManagerException: No active executors found
ERROR [StdOutErrRedirect] 	at azkaban.executor.ActiveExecutors.setupExecutors(ActiveExecutors.java:52)
ERROR [StdOutErrRedirect] 	at azkaban.executor.ExecutorManager.setupExecutors(ExecutorManager.java:201)
ERROR [StdOutErrRedirect] 	at azkaban.executor.ExecutorManager.initialize(ExecutorManager.java:135)
ERROR [StdOutErrRedirect] 	at azkaban.executor.ExecutorManager.start(ExecutorManager.java:149)
ERROR [StdOutErrRedirect] 	at azkaban.webapp.AzkabanWebServer.launch(AzkabanWebServer.java:231)
ERROR [StdOutErrRedirect] 	at azkaban.webapp.AzkabanWebServer.main(AzkabanWebServer.java:224)

Azkaban Executor Server 启动是报错,但是在ambari上显示正常 executor启动失败,但是页面显示启动成功 看azkaban_executor.py line52 executor.prot 没有在配置文件中加上即可下面用的是手动的方式改的,这个前边会改,下载我的github不会出现问题了 在这里插入图片描述 查看数据库

mysql> use azkaban;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from executors;
+----+--------------+-------+--------+
| id | host         | port  | active |
+----+--------------+-------+--------+
|  2 | landrover-28 | 37842 |      0 |
+----+--------------+-------+--------+
1 row in set (0.00 sec)

active = 0 执行命令

curl http://landrover-28:37842/executor?action=activate

查看数据库

mysql> use azkaban;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from executors;
+----+--------------+-------+--------+
| id | host         | port  | active |
+----+--------------+-------+--------+
|  3 | landrover-28 | 37842 |      1 |
+----+--------------+-------+--------+
1 row in set (0.00 sec)

重启web server 成功