资讯专栏INFORMATION COLUMN

azkaban 部署-azkaban 的部署和应用

白马啸西风 / 848人阅读

第一步:包准备

 首先我们先将Azkaban Web服务器、Azkaban执行服务器和MySQL统一拷贝到虚拟机/usr/local/src/azkaban目录下,

具体的命令如下:

</>复制代码

  1. [root@master zkaban]# ll|awk '{print $NF}'
  2. 98600
  3. azkaban-executor-server-2.5.0.tar.gz
  4. azkaban-sql-script-2.5.0.tar.gz
  5. azkaban-web-server-2.5.0.tar.gz
  6. mysql-libs.zip
  7. [root@master zkaban]# pwd
  8. /usr/local/src/zkaban

数据库准备

  当前azkaban只支持 mysql,不支持其它的非关系型数据库,我们需安装mysql服务器,本文档中的演示情况是默认已安装好mysql服务器,并建立了 root用户,密码 root,如果没安装的需要自己安装一下。

第二步:安装azkaban

快速命令

</>复制代码

  1. cd /usr/local/azkaban/
  2. mkdir -p /usr/local/azkaban/
  3. tar xf azkaban-web-server-2.5.0.tar.gz -C /usr/local/azkaban/
  4. tar xf azkaban-executor-server-2.5.0.tar.gz -C /usr/local/azkaban/
  5. tar xf azkaban-sql-script-2.5.0.tar.gz -C /usr/local/azkaban/
  6. cd /usr/local/azkaban/
  7. ln -sf azkaban-web-2.5.0 server
  8. ln -sf azkaban-executor-2.5.0 executor

详细过程

</>复制代码

  1. [root@master src]# cd zkaban/
  2. [root@master zkaban]# ls
  3. 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
  4. [root@master zkaban]# ll
  5. total 98600
  6. -rw-r--r-- 1 root root 11157302 Feb 16  2017 azkaban-executor-server-2.5.0.tar.gz
  7. -rw-r--r-- 1 root root     1928 Feb 16  2017 azkaban-sql-script-2.5.0.tar.gz
  8. -rw-r--r-- 1 root root 11989669 Feb 16  2017 azkaban-web-server-2.5.0.tar.gz
  9. -rw-r--r-- 1 root root 77807942 Mar  3  2017 mysql-libs.zip
  10. [root@master zkaban]# mkdir -p /usr/local/azkaban
  11. [root@master zkaban]# tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /usr/local/azkaban/
  12. [root@master zkaban]# tar -xf azkaban-executor-server-2.5.0.tar.gz -C /usr/local/azkaban/
  13. [root@master zkaban]# tar -xf azkaban-sql-script-2.5.0.tar.gz -C /usr/local/azkaban/
  14. [root@master zkaban]# cd /usr/local/azkaban/
  15. [root@master azkaban]ln -sf azkaban-web-2.5.0 server
  16. [root@master azkaban]ln -sf azkaban-executor-2.5.0 executor

   数据导入

azkaban脚本导入,进入mysql,创建azkaban数据库,并将解压的脚本导入到azkaban数据库。

快速部署

</>复制代码

  1. source /usr/local/azkaban/server/create-all-sql-2.5.0.sql

详细操作

</>复制代码

  1. [root@master azkaban]# pwd
  2. /usr/local/azkaban
  3. [root@master azkaban]# ls /usr/local/azkaban/server/create-all-sql-2.5.0.sql 
  4. /usr/local/azkaban/server/create-all-sql-2.5.0.sql
  5. [root@master azkaban]# mysql -uroot -proot
  6. mysql: [Warning] Using a password on the command line interface can be insecure.
  7. Welcome to the MySQL monitor.  Commands end with ; or \g.
  8. Your MySQL connection id is 751
  9. Server version: 5.7.26 MySQL Community Server (GPL)
  10. Copyright (c) 20002019, Oracle and/or its affiliates. All rights reserved.
  11. Oracle is a registered trademark of Oracle Corporation and/or its
  12. affiliates. Other names may be trademarks of their respective
  13. owners.
  14. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  15. mysql> create database azkaban;
  16. Query OK, 1 row affected (0.02 sec)
  17. mysql> use azkaban;
  18. Database changed
  19. mysql> source /usr/local/azkaban/server/create-all-sql-2.5.0.sql
  20. Query OK, 0 rows affected (0.07 sec)
  21. Query OK, 0 rows affected (0.02 sec)
  22. Query OK, 0 rows affected (0.01 sec)
  23. Query OK, 0 rows affected (0.02 sec)
  24. Records: 0  Duplicates: 0  Warnings: 0
  25. Query OK, 0 rows affected (0.01 sec)
  26. Records: 0  Duplicates: 0  Warnings: 0
  27. Query OK, 0 rows affected (0.01 sec)
  28. Records: 0  Duplicates: 0  Warnings: 0
  29. Query OK, 0 rows affected (0.01 sec)
  30. Records: 0  Duplicates: 0  Warnings: 0
  31. Query OK, 0 rows affected (0.01 sec)
  32. Query OK, 0 rows affected (0.01 sec)
  33. Records: 0  Duplicates: 0  Warnings: 0
  34. Query OK, 0 rows affected (0.01 sec)
  35. Records: 0  Duplicates: 0  Warnings: 0
  36. Query OK, 0 rows affected (0.02 sec)
  37. Records: 0  Duplicates: 0  Warnings: 0
  38. Query OK, 0 rows affected (0.01 sec)
  39. Query OK, 0 rows affected (0.01 sec)
  40. Records: 0  Duplicates: 0  Warnings: 0
  41. Query OK, 0 rows affected (0.00 sec)
  42. Records: 0  Duplicates: 0  Warnings: 0
  43. Query OK, 0 rows affected (0.01 sec)
  44. Query OK, 0 rows affected (0.01 sec)
  45. Records: 0  Duplicates: 0  Warnings: 0
  46. Query OK, 0 rows affected (0.01 sec)
  47. Query OK, 0 rows affected (0.01 sec)
  48. Records: 0  Duplicates: 0  Warnings: 0
  49. Query OK, 0 rows affected (0.01 sec)
  50. Query OK, 0 rows affected (0.02 sec)
  51. Records: 0  Duplicates: 0  Warnings: 0
  52. Query OK, 0 rows affected (0.01 sec)
  53. Query OK, 0 rows affected (0.01 sec)
  54. Records: 0  Duplicates: 0  Warnings: 0
  55. Query OK, 0 rows affected (0.01 sec)
  56. Query OK, 0 rows affected (0.01 sec)
  57. Records: 0  Duplicates: 0  Warnings: 0
  58. Query OK, 0 rows affected (0.00 sec)
  59. Query OK, 0 rows affected (0.01 sec)
  60. Records: 0  Duplicates: 0  Warnings: 0
  61. Query OK, 0 rows affected (0.01 sec)
  62. Query OK, 0 rows affected (0.01 sec)
  63. Records: 0  Duplicates: 0  Warnings: 0
  64. Query OK, 0 rows affected (0.01 sec)
  65. Query OK, 0 rows affected (0.01 sec)
  66. Query OK, 0 rows affected (0.01 sec)
  67. Records: 0  Duplicates: 0  Warnings: 0
  68. Query OK, 0 rows affected (0.01 sec)
  69. mysql> show tables;
  70. +------------------------+
  71. | Tables_in_azkaban      |
  72. +------------------------+
  73. | active_executing_flows |
  74. | active_sla             |
  75. | execution_flows        |
  76. | execution_jobs         |
  77. | execution_logs         |
  78. | project_events         |
  79. | project_files          |
  80. | project_flows          |
  81. | project_permissions    |
  82. | project_properties     |
  83. | project_versions       |
  84. | projects               |
  85. | properties             |
  86. | schedules              |
  87. | triggers               |
  88. +------------------------+
  89. 15 rows in set (0.00 sec)
  90. mysql> exit
  91. Bye

2.3 证书制作

</>复制代码

  1. [root@master server]# cd
  2. [root@master ~]# cd /usr/local/azkaban/server/
  3. [root@master server]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA
  4. Enter keystore password:          <---- 输入一个密码[推荐000000,后面配置文件会用到]
  5. Re-enter new password:            <---- 重复输入
  6. What is your first and last name?
  7.   [Unknown]:    <----  回车
  8. What is the name of your organizational unit?
  9.   [Unknown]:    <----  回车
  10. What is the name of your organization?
  11.   [Unknown]:    <----  回车
  12. What is the name of your City or Locality?
  13.   [Unknown]:    <----  回车
  14. What is the name of your State or Province?
  15.   [Unknown]:    <----  回车
  16. What is the two-letter country code for this unit?
  17.   [Unknown]:    <----  回车
  18. Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
  19.   [no]:  y      <----  输入y回车
  20. Enter key password for <jetty>
  21.     (RETURN if same as keystore password):   <----  输入之前密码 000000
  22. Re-enter new password:                       <----  再次输入密码 000000
  23. Warning:
  24. keystore keystore -destkeystore keystore -deststoretype pkcs12".
  25. [root@master server]# ls
  26. azkaban.version  bin  conf  extlib  keystore  lib  plugins  web
  27. [root@master server]# ecll
  28. -bash: ecll: command not found
  29. [root@master server]# ll
  30. total 12
  31. -rw-r--r-- 1 root root  105 Apr 22  2014 azkaban.version
  32. drwxr-xr-x 2 root root  112 Apr 22  2014 bin
  33. drwxr-xr-x 2 root root   57 Aug 13 11:14 conf
  34. drwxr-xr-x 2 root root    6 Apr 22  2014 extlib
  35. -rw-r--r-- 1 root root 2244 Aug 13 11:16 keystore
  36. drwxr-xr-x 2 root root 4096 Aug 13 11:14 lib
  37. drwxr-xr-x 2 root root    6 Apr 22  2014 plugins
  38. drwxr-xr-x 6 root root   73 Aug 13 11:14 web
  39. [root@master server]# du -sh keystore 
  40. 4.0K    keystore

</>复制代码

  1. cd /usr/local/azkaban/server/
  2. keytool -keystore keystore -alias jetty -genkey -keyalg RSA


2.4 时间同步

   所有机器时间都要同步一致。省略,因为我新机器优化,已经配置过了。

2.5 配置文件修改

2.5.1 Web服务器配置


</>复制代码

  1. [root@master server]# cd ..
  2. [root@master azkaban]# ls
  3. azkaban-2.5.0  azkaban-executor-2.5.0  azkaban-web-2.5.0  executor  server
  4. [root@master azkaban]# cd server/
  5. [root@master server]# ll
  6. total 16
  7. -rw-r--r-- 1 root root  105 Apr 22  2014 azkaban.version
  8. drwxr-xr-x 3 root root  179 Aug 13 11:40 bin
  9. drwxr-xr-x 2 root root   57 Aug 13 11:34 conf
  10. -rw-r--r-- 1 root root    7 Aug 13 11:40 currentpid
  11. drwxr-xr-x 2 root root    6 Apr 22  2014 extlib
  12. -rw-r--r-- 1 root root 2244 Aug 13 11:16 keystore
  13. drwxr-xr-x 2 root root 4096 Aug 13 11:14 lib
  14. drwxr-xr-x 2 root root    6 Apr 22  2014 plugins
  15. drwxr-xr-x 6 root root   73 Aug 13 11:14 web
  16. [root@master server]# cd conf/
  17. [root@master conf]# ls
  18. azkaban.properties  azkaban-users.xml

2.5.2 执行服务器配置

修改解释如下:


</>复制代码

  1. [root@master conf]# cat azkaban-users.xml 
  2. <azkaban-users>
  3.     <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
  4.     <user username="metrics" password="metrics" roles="metrics"/>
  5.     <user username="admin" password="admin" roles="admin,metrics" />    
  6.     <role name="admin" permissions="ADMIN" />
  7.     <role name="metrics" permissions="METRICS"/>
  8. </azkaban-users>


<user username="admin" password="admin" roles="admin,metrics" /> 用户名和密码都会admin


</>复制代码

  1. [root@master conf]# egrep -v '#|^$' azkaban.properties 
  2. azkaban.name=Test                           # 服务器UI名称,用于服务器上方显示的名字
  3. azkaban.label=My Local Azkaban              # 描述
  4. azkaban.default.servlet.path=/index
  5. web.resource.dir=/usr/local/azkaban/server/web/   # 默认web 目录
  6. default.timezone.id=Asia/Shanghai                 # 时区
  7. user.manager.class=azkaban.user.XmlUserManager    # 用户权限管理默认类
  8. user.manager.xml.file=/usr/local/azkaban/server/conf/azkaban-users.xml  # 配置文件[要使用绝对路径]
  9. executor.global.properties=/usr/local/azkaban/server/conf/global.properties # 配置文件[要使用绝对路径]
  10. azkaban.project.dir=projects
  11. database.type=mysql      # 数据库类型(目前只支持mysql)
  12. mysql.port=3306          # mysql 端口
  13. mysql.host=master        # mysql的ip/域名
  14. mysql.database=azkaban   # mysql创建的库
  15. mysql.user=root          # 链接mysql 用户
  16. mysql.password=root      # 链接mysql 密码
  17. mysql.numconnections=100 # 最大链接数
  18. velocity.dev.mode=false
  19. jetty.maxThreads=25
  20. jetty.ssl.port=8443      # web端口
  21. jetty.port=8081
  22. jetty.keystore=/usr/local/azkaban/server/keystore   # 证书地址[要使用绝对路径]
  23. jetty.password=000000    # 制作证书的密码
  24. jetty.keypassword=000000 # 制作证书的密码
  25. jetty.truststore=/usr/local/azkaban/server/keystore # 证书地址[要使用绝对路径]
  26. jetty.trustpassword=000000 # 制作证书的密码
  27. executor.port=12321
  28. mail.sender=
  29. mail.host=
  30. job.failure.email=
  31. job.success.email=
  32. lockdown.create.projects=false
  33. cache.directory=cache

可以配置smtp邮箱,可以发邮件

2.6 启动

  • 启动web服务器



  • 启动执行服务器


</>复制代码

  1. cd /usr/local/azkaban/executor/bin/
  2. ./azkaban-executor-start.sh



  • 查询


</>复制代码

  1. [root@master bin]# jps
  2. 37828 ResourceManager
  3. 109029 Jps
  4. 37670 SecondaryNameNode
  5. 37481 NameNode
  6. 26334 Master
  7. 68879 QuorumPeerMain
  8. 99967 AzkabanExecutorServer
  9. 100126 AzkabanWebServer

注意启动顺序

2.7 登录

  启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://服务器IP地址:8443,即可访问azkaban服务了。在登录中输入刚才新的户用名及密码,点击 login。

图片.png

图片.png


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127491.html

相关文章

  • cdhazkaban-cdhazkaban介绍、安装使用

    工作流调度系统一个完整的数据分析系统大都是由海量的任务单元组成shell脚本程序,java,mapreduce程序、hive脚本等等组成,非常复杂,各任务单元之间存在时间先后及前后依赖关系。为了很好地组织起这样的复杂系统,能够按照计划执行,就必须要一个工作流调度系统来调度执行。例如,某个业务系统可能每天产生20G原始数据,我们每天都要对其进行处理。具体处理步骤如下所示:1. 通过Hadoop先将原...

    白马啸西风 评论0 收藏0
  • 大数据入门指南(GitHub开源项目)

    摘要:项目地址前言大数据技术栈思维导图大数据常用软件安装指南一分布式文件存储系统分布式计算框架集群资源管理器单机伪集群环境搭建集群环境搭建常用命令的使用基于搭建高可用集群二简介及核心概念环境下的安装部署和命令行的基本使用常用操作分区表和分桶表视图 项目GitHub地址:https://github.com/heibaiying... 前 言 大数据技术栈思维导图 大数据常用软件安装指...

    guyan0319 评论0 收藏0
  • azkaban 安装

    摘要:否则没有配置环境会报错。重新编译打包就可以 azkaban azkaban 是一个用Java开发的开源调度工具workflow,同类型的工具有用Python开发的 airflow 和 luigi. build 在我的windows上无法build成功,我在CentOS上build成功了 git clone https://github.com/azkaban/azkaban.git c...

    luqiuwen 评论0 收藏0
  • azkaban使用方法

    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...

    白马啸西风 评论0 收藏0
  • 使用azkaban 建立一个简单任务调度系统

    摘要:使用建立一个简单的任务调度系统可以作为任务的调度工具,也可以作为任务和任务的调度工具。更加方便,只要在中增加一个方法,返回对象,然后任务可以直接在初始化的中读取到这个参数。 使用azkaban 建立一个简单的任务调度系统 azkaban 可以作为hadoop 任务的调度工具,也可以作为shell任务和java任务的调度工具。安装过程有点繁琐,见安装文档。 Job Type 见链接 ht...

    Bmob 评论0 收藏0

发表评论

0条评论

白马啸西风

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<