首先我们先将Azkaban Web服务器、Azkaban执行服务器和MySQL统一拷贝到虚拟机/usr/local/src/azkaban
目录下,
具体的命令如下:
[root@master zkaban]# ll|awk '{print $NF}' 98600 azkaban-executor-server-2.5.0.tar.gz azkaban-sql-script-2.5.0.tar.gz azkaban-web-server-2.5.0.tar.gz mysql-libs.zip [root@master zkaban]# pwd /usr/local/src/zkaban
当前azkaban只支持 mysql,不支持其它的非关系型数据库,我们需安装mysql服务器,本文档中的演示情况是默认已安装好mysql服务器,并建立了 root用户,密码 root,如果没安装的需要自己安装一下。
快速命令
cd /usr/local/azkaban/ mkdir -p /usr/local/azkaban/ tar xf azkaban-web-server-2.5.0.tar.gz -C /usr/local/azkaban/ tar xf azkaban-executor-server-2.5.0.tar.gz -C /usr/local/azkaban/ tar xf azkaban-sql-script-2.5.0.tar.gz -C /usr/local/azkaban/ cd /usr/local/azkaban/ ln -sf azkaban-web-2.5.0 server ln -sf azkaban-executor-2.5.0 executor
详细过程
[root@master src]# cd zkaban/ [root@master zkaban]# ls azkaban-executor-server-2.5.0.tar.gz azkaban-sql-script-2.5.0.tar.gz azkaban-web-server-2.5.0.tar.gz mysql-libs.zip [root@master zkaban]# ll total 98600 -rw-r--r-- 1 root root 11157302 Feb 16 2017 azkaban-executor-server-2.5.0.tar.gz -rw-r--r-- 1 root root 1928 Feb 16 2017 azkaban-sql-script-2.5.0.tar.gz -rw-r--r-- 1 root root 11989669 Feb 16 2017 azkaban-web-server-2.5.0.tar.gz -rw-r--r-- 1 root root 77807942 Mar 3 2017 mysql-libs.zip [root@master zkaban]# mkdir -p /usr/local/azkaban [root@master zkaban]# tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /usr/local/azkaban/ [root@master zkaban]# tar -xf azkaban-executor-server-2.5.0.tar.gz -C /usr/local/azkaban/ [root@master zkaban]# tar -xf azkaban-sql-script-2.5.0.tar.gz -C /usr/local/azkaban/ [root@master zkaban]# cd /usr/local/azkaban/ [root@master azkaban]# ln -sf azkaban-web-2.5.0 server [root@master azkaban]# ln -sf azkaban-executor-2.5.0 executor
快速部署
source /usr/local/azkaban/server/create-all-sql-2.5.0.sql
详细操作
[root@master azkaban]# pwd /usr/local/azkaban [root@master azkaban]# ls /usr/local/azkaban/server/create-all-sql-2.5.0.sql /usr/local/azkaban/server/create-all-sql-2.5.0.sql [root@master azkaban]# mysql -uroot -proot mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 751 Server version: 5.7.26 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database azkaban; Query OK, 1 row affected (0.02 sec) mysql> use azkaban; Database changed mysql> source /usr/local/azkaban/server/create-all-sql-2.5.0.sql Query OK, 0 rows affected (0.07 sec) Query OK, 0 rows affected (0.02 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.01 sec) mysql> show tables; +------------------------+ | Tables_in_azkaban | +------------------------+ | active_executing_flows | | active_sla | | execution_flows | | execution_jobs | | execution_logs | | project_events | | project_files | | project_flows | | project_permissions | | project_properties | | project_versions | | projects | | properties | | schedules | | triggers | +------------------------+ 15 rows in set (0.00 sec) mysql> exit Bye
[root@master server]# cd [root@master ~]# cd /usr/local/azkaban/server/ [root@master server]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA Enter keystore password: <---- 输入一个密码[推荐000000,后面配置文件会用到] Re-enter new password: <---- 重复输入 What is your first and last name? [Unknown]: <---- 回车 What is the name of your organizational unit? [Unknown]: <---- 回车 What is the name of your organization? [Unknown]: <---- 回车 What is the name of your City or Locality? [Unknown]: <---- 回车 What is the name of your State or Province? [Unknown]: <---- 回车 What is the two-letter country code for this unit? [Unknown]: <---- 回车 Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct? [no]: y <---- 输入y回车 Enter key password for <jetty> (RETURN if same as keystore password): <---- 输入之前密码 000000 Re-enter new password: <---- 再次输入密码 000000 Warning: keystore keystore -destkeystore keystore -deststoretype pkcs12". [root@master server]# ls azkaban.version bin conf extlib keystore lib plugins web [root@master server]# ecll -bash: ecll: command not found [root@master server]# ll total 12 -rw-r--r-- 1 root root 105 Apr 22 2014 azkaban.version drwxr-xr-x 2 root root 112 Apr 22 2014 bin drwxr-xr-x 2 root root 57 Aug 13 11:14 conf drwxr-xr-x 2 root root 6 Apr 22 2014 extlib -rw-r--r-- 1 root root 2244 Aug 13 11:16 keystore drwxr-xr-x 2 root root 4096 Aug 13 11:14 lib drwxr-xr-x 2 root root 6 Apr 22 2014 plugins drwxr-xr-x 6 root root 73 Aug 13 11:14 web [root@master server]# du -sh keystore 4.0K keystore
cd /usr/local/azkaban/server/ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
所有机器时间都要同步一致。省略,因为我新机器优化,已经配置过了。
[root@master server]# cd .. [root@master azkaban]# ls azkaban-2.5.0 azkaban-executor-2.5.0 azkaban-web-2.5.0 executor server [root@master azkaban]# cd server/ [root@master server]# ll total 16 -rw-r--r-- 1 root root 105 Apr 22 2014 azkaban.version drwxr-xr-x 3 root root 179 Aug 13 11:40 bin drwxr-xr-x 2 root root 57 Aug 13 11:34 conf -rw-r--r-- 1 root root 7 Aug 13 11:40 currentpid drwxr-xr-x 2 root root 6 Apr 22 2014 extlib -rw-r--r-- 1 root root 2244 Aug 13 11:16 keystore drwxr-xr-x 2 root root 4096 Aug 13 11:14 lib drwxr-xr-x 2 root root 6 Apr 22 2014 plugins drwxr-xr-x 6 root root 73 Aug 13 11:14 web [root@master server]# cd conf/ [root@master conf]# ls azkaban.properties azkaban-users.xml
修改解释如下:
[root@master conf]# cat azkaban-users.xml <azkaban-users> <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" /> <user username="metrics" password="metrics" roles="metrics"/> <user username="admin" password="admin" roles="admin,metrics" /> <role name="admin" permissions="ADMIN" /> <role name="metrics" permissions="METRICS"/> </azkaban-users>
<user username="admin" password="admin" roles="admin,metrics" />
用户名和密码都会admin
[root@master conf]# egrep -v '#|^$' azkaban.properties azkaban.name=Test # 服务器UI名称,用于服务器上方显示的名字 azkaban.label=My Local Azkaban # 描述 azkaban.default.servlet.path=/index web.resource.dir=/usr/local/azkaban/server/web/ # 默认web 目录 default.timezone.id=Asia/Shanghai # 时区 user.manager.class=azkaban.user.XmlUserManager # 用户权限管理默认类 user.manager.xml.file=/usr/local/azkaban/server/conf/azkaban-users.xml # 配置文件[要使用绝对路径] executor.global.properties=/usr/local/azkaban/server/conf/global.properties # 配置文件[要使用绝对路径] azkaban.project.dir=projects database.type=mysql # 数据库类型(目前只支持mysql) mysql.port=3306 # mysql 端口 mysql.host=master # mysql的ip/域名 mysql.database=azkaban # mysql创建的库 mysql.user=root # 链接mysql 用户 mysql.password=root # 链接mysql 密码 mysql.numconnections=100 # 最大链接数 velocity.dev.mode=false jetty.maxThreads=25 jetty.ssl.port=8443 # web端口 jetty.port=8081 jetty.keystore=/usr/local/azkaban/server/keystore # 证书地址[要使用绝对路径] jetty.password=000000 # 制作证书的密码 jetty.keypassword=000000 # 制作证书的密码 jetty.truststore=/usr/local/azkaban/server/keystore # 证书地址[要使用绝对路径] jetty.trustpassword=000000 # 制作证书的密码 executor.port=12321 mail.sender= mail.host= job.failure.email= job.success.email= lockdown.create.projects=false cache.directory=cache
可以配置smtp邮箱,可以发邮件
启动web服务器
启动执行服务器
cd /usr/local/azkaban/executor/bin/ ./azkaban-executor-start.sh
查询
[root@master bin]# jps 37828 ResourceManager 109029 Jps 37670 SecondaryNameNode 37481 NameNode 26334 Master 68879 QuorumPeerMain 99967 AzkabanExecutorServer 100126 AzkabanWebServer
注意启动顺序
启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://服务器IP地址:8443,即可访问azkaban服务了。在登录中输入刚才新的户用名及密码,点击 login。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/127491.html
工作流调度系统一个完整的数据分析系统大都是由海量的任务单元组成shell脚本程序,java,mapreduce程序、hive脚本等等组成,非常复杂,各任务单元之间存在时间先后及前后依赖关系。为了很好地组织起这样的复杂系统,能够按照计划执行,就必须要一个工作流调度系统来调度执行。例如,某个业务系统可能每天产生20G原始数据,我们每天都要对其进行处理。具体处理步骤如下所示:1. 通过Hadoop先将原...
摘要:项目地址前言大数据技术栈思维导图大数据常用软件安装指南一分布式文件存储系统分布式计算框架集群资源管理器单机伪集群环境搭建集群环境搭建常用命令的使用基于搭建高可用集群二简介及核心概念环境下的安装部署和命令行的基本使用常用操作分区表和分桶表视图 项目GitHub地址:https://github.com/heibaiying... 前 言 大数据技术栈思维导图 大数据常用软件安装指...
摘要:否则没有配置环境会报错。重新编译打包就可以 azkaban azkaban 是一个用Java开发的开源调度工具workflow,同类型的工具有用Python开发的 airflow 和 luigi. build 在我的windows上无法build成功,我在CentOS上build成功了 git clone https://github.com/azkaban/azkaban.git c...
1:单任务Azkaba内置的任务类型支持command、javaroot@leco:/home/leco#catfoo.job type=command command=echofoo root@leco:/home/leco#zipfoo.zipfoo.job updating:foo.job(deflated13%)我们把job的资源文件可以打包成为zip格式的。然后通过azkaban...
摘要:使用建立一个简单的任务调度系统可以作为任务的调度工具,也可以作为任务和任务的调度工具。更加方便,只要在中增加一个方法,返回对象,然后任务可以直接在初始化的中读取到这个参数。 使用azkaban 建立一个简单的任务调度系统 azkaban 可以作为hadoop 任务的调度工具,也可以作为shell任务和java任务的调度工具。安装过程有点繁琐,见安装文档。 Job Type 见链接 ht...
阅读 1184·2023-02-24 11:21
阅读 1376·2023-02-24 10:55
阅读 2349·2023-02-24 10:47
阅读 3058·2023-02-24 10:44
阅读 787·2023-02-24 10:38
阅读 584·2022-12-25 19:44
阅读 728·2022-12-25 19:39
阅读 831·2022-12-25 19:36