Azkaban学习之路 (二)Azkaban的安装
安装过程
1、软件介绍
Azkaban Web 服务器:azkaban-web-server-2.5.0.tar.gz
Azkaban Excutor 执行服务器:azkaban-executor-server-2.5.0.tar.gz
Azkaban 初始化脚本文件:azkaban-sql-script-2.5.0.tar.gz
2、软件下载
下载地址:http://azkaban.github.io/downloads.html
3、安装说明
将安装文件上传到集群,最好上传到安装 hive、sqoop 的机器上,方便命令的执行。并最好同 一存放在 apps 目录下,用于存放源安装文件.新建 azkaban-2.5.0 目录,用于存放 azkaban 运行程序
[hadoop@hadoop3 ~]$ cd apps/
[hadoop@hadoop3 apps]$ mkdir azkaban-2.5.0
4、安装步骤
(1)上传安装包并解压缩到指定目录
[hadoop@hadoop3 ~]$ tar -zxvf azkaban-web-server-2.5.0.tar.gz -C apps/azkaban-2.5.0/
[hadoop@hadoop3 ~]$ tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C apps/azkaban-2.5.0/
(2)解压初始化脚本
[hadoop@hadoop3 ~]$ tar -zxvf azkaban-sql-script-2.5.0.tar.gz
[hadoop@hadoop3 ~]$ cd azkaban-2.5.0/
[hadoop@hadoop3 azkaban-2.5.0]$ ll
总用量 88
-rwxr-xr-x 1 hadoop hadoop 129 4月 22 2014 create.active_executing_flows.sql
-rwxr-xr-x 1 hadoop hadoop 216 4月 22 2014 create.active_sla.sql
-rwxr-xr-x 1 hadoop hadoop 4694 4月 22 2014 create-all-sql-2.5.0.sql
-rwxr-xr-x 1 hadoop hadoop 610 4月 22 2014 create.execution_flows.sql
-rwxr-xr-x 1 hadoop hadoop 519 4月 22 2014 create.execution_jobs.sql
-rwxr-xr-x 1 hadoop hadoop 358 4月 22 2014 create.execution_logs.sql
-rwxr-xr-x 1 hadoop hadoop 224 4月 22 2014 create.project_events.sql
-rwxr-xr-x 1 hadoop hadoop 227 4月 22 2014 create.project_files.sql
-rwxr-xr-x 1 hadoop hadoop 280 4月 22 2014 create.project_flows.sql
-rwxr-xr-x 1 hadoop hadoop 285 4月 22 2014 create.project_permissions.sql
-rwxr-xr-x 1 hadoop hadoop 294 4月 22 2014 create.project_properties.sql
-rwxr-xr-x 1 hadoop hadoop 380 4月 22 2014 create.projects.sql
-rwxr-xr-x 1 hadoop hadoop 325 4月 22 2014 create.project_versions.sql
-rwxr-xr-x 1 hadoop hadoop 155 4月 22 2014 create.properties.sql
-rwxr-xr-x 1 hadoop hadoop 498 4月 22 2014 create.schedules.sql
-rwxr-xr-x 1 hadoop hadoop 189 4月 22 2014 create.triggers.sql
-rwxr-xr-x 1 hadoop hadoop 22 4月 22 2014 database.properties
-rwxr-xr-x 1 hadoop hadoop 671 4月 22 2014 update-all-sql-2.1.sql
-rwxr-xr-x 1 hadoop hadoop 156 4月 22 2014 update-all-sql-2.2.sql
-rwxr-xr-x 1 hadoop hadoop 395 4月 22 2014 update.execution_logs.2.1.sql
-rwxr-xr-x 1 hadoop hadoop 59 4月 22 2014 update.project_properties.2.1.sql
[hadoop@hadoop3 azkaban-2.5.0]$
(3)在MySQL中执行脚本create-all-sql-2.5.0.sql(在MySQL所在的服务器上执行)
mysql> create database azkaban;
Query OK, 1 row affected (0.01 sec) mysql> use azkaban;
Database changed
mysql> source /home/hadoop/azkaban-2.5.0/create-all-sql-2.5.0.sql
(4)创建SSL配置
参考地址: http://docs.codehaus.org/display/JETTY/How+to+configure+SSL
最好是在 /home/hadoop/apps/azkaban-2.5.0 目录下: 执行命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA
[hadoop@hadoop3 azkaban-2.5.0]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN是否正确?
[否]: 是 输入 <jetty> 的密钥口令
(如果和密钥库口令相同, 按回车):
[hadoop@hadoop3 azkaban-2.5.0]$
完成上述工作后,将在当前目录生成 keystore 证书文件,将 keystore 拷贝到 azkaban web 服务 器根目录中.如:
hadoop@hadoop3 azkaban-2.5.0]$ mv keystore azkaban-web-2.5.0/
(5)修改时区
注:先配置好服务器节点上的时区
1、先生成时区配置文件 Asia/Shanghai,用交互式命令 tzselect 即可
2、拷贝该时区文件,覆盖系统本地时区配置
[hadoop@hadoop3 azkaban-2.5.0]$ sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
(6)修改azkaban web 服务器配置
进入 azkaban web 服务器安装目录 conf 目录
[hadoop@hadoop3 ~]$ cd apps/azkaban-2.5.0/azkaban-web-2.5.0/conf/
修改 azkaban.properties 文件
[hadoop@hadoop3 conf]$ vi azkaban.properties
内容说明如下:
#Azkaban Personalization Settings
azkaban.name=MyTestAzkaban #服务器 UI 名称,用于服务器上方显示的名字
azkaban.label=My Local Azkaban #描述
azkaban.color=#FF3601 #UI 颜色
azkaban.default.servlet.path=/index
web.resource.dir=/home/hadoop/apps/azkaban-2.5.0/azkaban-web-2.5.0/web/ #默认根 web 目录
default.timezone.id=Asia/Shanghai #默认时区,已改为亚洲/上海 默认为美国
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager #用户权限管理默认类
user.manager.xml.file=/home/hadoop/apps/azkaban-2.5.0/azkaban-web-2.5.0/conf/azkaban-users.xml #用户配置,具体配置参加下文
#Loader for projects # global 配置文件所在位置
executor.global.properties=/home/hadoop/apps/azkaban-2.5.0/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects
database.type=mysql #数据库类型
mysql.port=3306 #端口号
mysql.host=hadoop03 #数据库连接 IP
mysql.database=azkaban #数据库实例名
mysql.user=root #数据库用户名
mysql.password=root #数据库密码
mysql.numconnections=100 #最大连接数
# Velocity dev mode
velocity.dev.mode=false # Jetty 服务器属性.
jetty.maxThreads=25 #最大线程数
jetty.ssl.port=8443 #Jetty SSL 端口
jetty.port=8081 #Jetty 端口
jetty.keystore=/home/hadoop/apps/azkaban-2.5.0/azkaban-web-2.5.0/keystore #SSL 文件名
jetty.password=hadoop #SSL 文件密码
jetty.keypassword=hadoop #Jetty 主密码 与 keystore 文件相同
jetty.truststore=/home/hadoop/apps/azkaban-2.5.0/azkaban-web-2.5.0/keystore #SSL 文件名
jetty.trustpassword=hadoop # SSL 文件密码
# 执行服务器属性
executor.port=12321 #执行服务器端口
# 邮件设置(可选项)
mail.sender=xxxxxxxx@163.com #发送邮箱
mail.host=smtp.163.com #发送邮箱 smtp 地址
mail.user=xxxxxxxx #发送邮件时显示的名称
mail.password=********** #邮箱密码
job.failure.email=xxxxxxxx@163.com #任务失败时发送邮件的地址
job.success.email=xxxxxxxx@163.com #任务成功时发送邮件的地址
lockdown.create.projects=false # cache.directory=cache #缓存目录
修改 azkaban-users.xml配置文件
用户配置 进入 azkaban web 服务器 conf 目录,修改 azkaban-users.xml vi 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>
(6)修改azkaban executor服务器配置
进入 azkaban executor 服务器安装目录 conf 目录
[hadoop@hadoop3 ~]$ cd apps/azkaban-2.5.0/azkaban-executor-2.5.0/conf/
修改azkaban.properties文件
[hadoop@hadoop3 conf]$ vi azkaban.properties
#Azkaban
default.timezone.id=Asia/Shanghai #时区
# Azkaban JobTypes 插件配置,插件所在位置
azkaban.jobtype.plugin.dir=/home/hadoop/apps/azkaban-2.5.0/azkaban-executor-2.5.0/plugins/jobtypes
#Loader for projects
executor.global.properties=/home/hadoop/apps/azkaban-2.5.0/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects
#数据库设置
database.type=mysql #数据库类型(目前只支持 mysql)
mysql.port=3306 #数据库端口号
mysql.host=hadoop03 #数据库 IP 地址
mysql.database=azkaban #数据库实例名
mysql.user=root #数据库用户名
mysql.password=root #数据库密码
mysql.numconnections=100 #最大连接数
# 执行服务器配置
executor.maxThreads=50 #最大线程数
executor.port=12321 #端口号(如修改,请与 web 服务中一致)
executor.flow.threads=30 #线程数
(7)配置环境变量
[hadoop@hadoop3 ~]$ vi .bashrc
#Azkban
export AZKABAN_WEB_HOME=/home/hadoop/apps/azkaban-2.5.0/azkaban-web-2.5.0
export AZKABAN_EXE_HOME=/home/hadoop/apps/azkaban-2.5.0/azkaban-executor-2.5.0
export PATH=$PATH:$AZKABAN_WEB_HOME/bin:$AZKABAN_EXE_HOME/bin
保存之后使其立即生效
[hadoop@hadoop3 ~]$ source .bashrc
5、启动
(1)启动 web 服务器
[hadoop@hadoop3 ~]$ azkaban-web-start.sh
后台启动方式
nohup azkaban-web-start.sh 1>/home/hadoop/azwebstd.out 2>/home/hadoop/azweberr.out &
报错信息:
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.sql.DriverManager.isDriverAllowed(DriverManager.java:556)
at java.sql.DriverManager.isDriverAllowed(DriverManager.java:548)
at java.sql.DriverManager.getDrivers(DriverManager.java:446)
at org.apache.commons.dbcp.BasicDataSource.<clinit>(BasicDataSource.java:57)
at azkaban.database.DataSourceUtils.getMySQLDataSource(DataSourceUtils.java:98)
at azkaban.database.DataSourceUtils.getDataSource(DataSourceUtils.java:76)
at azkaban.database.AbstractJdbcLoader.<init>(AbstractJdbcLoader.java:63)
at azkaban.executor.JdbcExecutorLoader.<init>(JdbcExecutorLoader.java:59)
at azkaban.webapp.AzkabanWebServer.loadExecutorManager(AzkabanWebServer.java:247)
at azkaban.webapp.AzkabanWebServer.<init>(AzkabanWebServer.java:185)
at azkaban.webapp.AzkabanWebServer.main(AzkabanWebServer.java:726)
需要将derby-10.11.1.1.jar放到/home/hadoop/apps/azkaban-2.5.0/azkaban-web-2.5.0/lib和/home/hadoop/apps/azkaban-2.5.0/azkaban-executor-2.5.0/lib目录中
[hadoop@hadoop3 ~]$ cp derby-10.11.1.1.jar apps/azkaban-2.5.0/azkaban-web-2.5.0/lib/
[hadoop@hadoop3 ~]$ cp derby-10.11.1.1.jar apps/azkaban-2.5.0/azkaban-executor-2.5.0/lib/
此时在重新启动azkaban仍旧报错
Exception in thread "main" java.lang.IllegalArgumentException: The datetime zone id 'Asia/Shanghai ' is not recognised
at org.joda.time.DateTimeZone.forID(DateTimeZone.java:223)
at azkaban.webapp.AzkabanWebServer.<init>(AzkabanWebServer.java:208)
at azkaban.webapp.AzkabanWebServer.main(AzkabanWebServer.java:726)
排查发现是Azkaban的配置文件azkaban-web-2.5.0/conf/azkaban.properties中的时区配置后面多了一个空格导致
注意:Azkaban的配置文件中不能有空格
去掉空格之后再次启动azkaban,启动成功
(2)启动executor服务器
[hadoop@hadoop3 ~]$ azkaban-executor-start.sh
后台启动方式
nohup azkaban-executor-start.sh 1>/home/hadoop/azexstd.out 2>/home/hadoop/azexerr.out &
6、验证
打开谷歌或是火狐浏览器输入https://IP:8443,此处测试的地址是https://hadoop3:8443,此时可能会出现以下界面,点击高级
点击继续前往hadoop3(不安全)
此时会跳到登录界面,输入在配置文件azkaban-users.xml,中配置的用户名密码admin/admin,点击登录
登录成功
Azkaban学习之路 (二)Azkaban的安装的更多相关文章
- 我的 Delphi 学习之路 —— Delphi 助手的安装
标题:我的 Delphi 学习之路 -- Delphi 助手的安装 作者:断桥烟雨旧人伤 Delphi 助手的安装 CnWizards 类似于 VS 中的番茄助手,在编写 Delphi 代码时帮助极大 ...
- Azkaban学习之路(一)—— Azkaban 简介
一.Azkaban 介绍 1.1 背景 一个完整的大数据分析系统,必然由很多任务单元(如数据收集.数据清洗.数据存储.数据分析等)组成,所有的任务单元及其之间的依赖关系组成了复杂的工作流.复杂的工作流 ...
- Azkaban学习笔记(二)
官方文档:http://azkaban.github.io/ 一.Azkaban主要的组成: 1. 关系型数据库——MySQL 2. AzkabanWebServer 3. AzkabanExcuto ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- Git学习之路(2)-安装GIt和创建版本库
▓▓▓▓▓▓ 大致介绍 前面一片博客介绍了Git到底是什么东西,如果有不明白的可以移步 Git学习之路(1)-Git简介 ,这篇博客主要讲解在Windows上安装Git和创建一个版本库 ▓▓▓▓▓▓ ...
- MongoDB 学习记录(二)yum安装
前言:接着上篇继续学习MongoDB,这次学习的是在Linux下安装MongoDB 环境:centos7.3 安装版本:MongoDB4.0 官网安装教程地址 https://docs.mongodb ...
- Maven学习总结(二):安装
一:Maven下载 下载地址:http://maven.apache.org/download.cgi 下载完成后,得到一个压缩包,解压,可以看到maven的组成目录 Maven目录分析 bin:含有 ...
- Azkaban学习之路(二)—— Azkaban 3.x 编译及部署
一.Azkaban 源码编译 1.1 下载并解压 Azkaban 在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译. 下载所需版本的源码,Azkaban的源码托管在GitHub上,地址为 ...
- Azkaban学习之路 (一)Azkaban的基础介绍
一.为什么需要工作流调度器 1.一个完整的数据分析系统通常都是由大量任务单元组成: shell 脚本程序,java 程序,mapreduce 程序.hive 脚本等 2.各任务单元之间存在时间先后及前 ...
随机推荐
- 【Java基础】7、Java同步机制之Monitor监视器与syncrhoized实现原理
一:Monitor Monitor是一个同步工具,相当于操作系统中的互斥量(mutex),即值为1的信号量. 它内置与每一个Object对象中,相当于一个许可证.拿到许可证即可以进行操作,没有拿到则需 ...
- SpringCloud+Hystrix服务容错
Netflix Hystrix — 应对复杂分布式系统中的延时和故障容错 +应用场景 分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务雪崩效应. 为了应对服务雪崩 ...
- 封装7z软件实现批量文件或目录压缩
哈哈,作为一个特别懒的运维人来说 兄弟我写了一个批量压缩文件或目录的小工具,用来批量压缩文件目录 弄一下,然后就不用管他了,后天看结果就好了 操作步骤: 1.选择想做压缩处理的根目录 2.选择你要的功 ...
- Chromium的Grit工具解析
转载请注明出处:http://www.cnblogs.com/fangkm/p/3405959.html Chromium项目采用Grit工具来打包生成程序需要的资源,如图片资源.字符串资源等,尤其是 ...
- python正则表达式1
使用正则表达式,需要导入re这个模块 >>> import re >>> pattern=r'abc' >>> str='abcdefghijab ...
- 【 js 基础 】【读书笔记】作用域和闭包
一.编译过程 常见编译性语言,在程序代码执行之前会经历三个步骤,称为编译. 步骤一:分词或者词法分析 将由字符组成的字符串分解成有意义的代码块,这些代码块被称为词法单元. 例子: var a = 2 ...
- css3 flex弹性盒子布局梳理,打通任督二脉
挺早就接触了css的flex布局,深入使用也就是在近期移动端开发.老来多健忘,只能自己梳理一下知识点,当做温故知新吧. ,请原谅小白的才疏学浅,写的不到位的地方请指正. flex属性用于设置或检索弹性 ...
- flex做的圣杯布局
now,给大家分享一个用flex写的圣杯布局,大家可以参考一下子 首先圣杯布局是两列固定宽度,中间自适应. 我直接说一下步骤,上图,上图 1.步骤1 2.步骤2 上面就是基本的步骤,下面我把代码给大家 ...
- chromium os系统编译与环境搭建
官方网址:http://www.chromium.org/chromium-os chromium os是google自2009年开启的项目,是一款开源的电脑操作系统,用于开发chromium/chr ...
- 8.1、包,__init__.py,
包: 为了组织好模块,将多个模块组合为一个包,所以包用于存放python模块 包通常是一个文件夹,当文件夹当作包使用时,文件夹需要包含__init__.py文件 __init__.py的内容可以为空, ...