Azkaban的安装
Azkaban是一个工作流调度系统
因为一个完整的数据分析系统通常由大量的单元组成,而各单元间又存在许多关系,而为了很好的组织好复杂的执行计划,就需要一个工作流调度系统----->Azkaban
Azkaban定义了一中kv文件格式来建立任务之间的依赖关系,并提供了一个易于使用的web用户界面维护和跟踪工作流
准备工作
Azkaban Web服务器
Azkaban 执行服务器
本配置使用的版本为2.5.0
下载地址:http://azkaban.github.io/downloads.html
因为Azkaban只支持mysql,本配置默认已经安装好mysql服务器
安装
Azkaban web 服务器安装
解压:解压到自己平时软件解压的目录即可
创建SSL配置
在安装目录下执行操作:
命令:
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
然后会出现以下提示
—分别表示为
1.输入keystore密码
2.再次输入新密码
3.你的姓名是什么
4.你的组织单位名称是什么
5.你的组织名称是什么
6.你所在的城市
7.你所在的省份
8.你所在的国家代码
3.4.5.6.7都可以不用输入,国家代码输入CN就行
然后回车输入y(确认)
输入jetty的密码
这里为了方便就直接使用keystore的密码即可,直接回车就代表密码相同
配置 web 文件
此配置的时区为 Asia/Shanghai
然后进入 Azkaban web 服务器安装目录中的conf目录
修改 azkaban.properties 文件
#Azkaban Personalization Settings
azkaban.name=Test 服务器UI的名称
azkaban.label=My Local Azkaban 描述
azkaban.color=#FF3601 UI颜色
azkaban.default.servlet.path=/index 默认首页
web.resource.dir=/opt/azkaban-web/web #此处为根目录下的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 #global配置文件绝对路径
azkaban.project.dir=projects
database.type=mysql 数据库类型
mysql.port=3306 端口号
mysql.host=NODE03 #数据库连接ip
mysql.database=azkaban #数据库实例名
mysql.user=root #数据库用户名
mysql.password=密码 #数据库密码
mysql.numconnections=100 最大连接数
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
jetty.maxThreads=25 最大线程数
jetty.ssl.port=8443 jetty SSL端口
jetty.port=8081 jetty端口
jetty.keystore=keystore SSL文件名
jetty.password=123456 #SSL文件密码
jetty.keypassword=123456 #jetty密码和keystore文件相同
jetty.truststore=keystore SSL文件名
jetty.trustpassword=123456 #SSL文件密码
# Azkaban Executor settings
executor.port=12321 #执行服务器端口
executor.host=NODE03 #执行服务器
# mail settings 邮箱设置
mail.sender= #发送邮箱
mail.host= #发送邮箱smtp地址
job.failure.email= #任务失败时发送邮箱的地址
job.success.email= #任务成功时发送邮箱的地址
lockdown.create.projects=false
cache.directory=cache 缓存目录
上述中global.properties文件不存在就自己创建一个空文件即可
上述用户配置
conf目录下的 azkaban-users.xml
修改 azkaban-users.xml 文件
添加管理员用户
在空格出添加以下语句,
<user username="admin" password="admin" roles="admin,metrics" />
如下
这里时设置登录Azkaban web 服务器的管理员账号密码
Azkaban 执行服务器的安装
提醒:执行服务器安装位置,必须已经安装了hive 和sqoop,如此是为了方便命令的执行
进入执行服务器安装目录中的conf目录
修改 azkaban.properties 文件
#Azkaban
default.timezone.id=Asia/Shanghai #时区
# Azkaban JobTypes Plugins 插件位置
azkaban.jobtype.plugin.dir=plugins/jobtypes 插件位置
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
database.type=mysql 数据库类型
mysql.port=3306 数据库端口号
mysql.host=NODE03 数据库IP地址
mysql.database=azkaban 数据库实例名
mysql.user=root 数据库用户名
mysql.password=密码 数据库密码
mysql.numconnections=100 最大连接数
# Azkaban Executor settings
executor.maxThreads=50 最大线程数
executor.port=12321 端口号
executor.flow.threads=30 线程数
启动 web服务器 和执行服务器
两种运行方式
第一种:在各自对应的安装目录下分别执行命令
web服务器:bin/azkaban-web-start.sh
执行服务器:bin/azkaban-executor-start.sh
第二种:启动到后台
操作都在安装目录下
web服务器:
nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
执行服务器:
nohup bin/azkaban-executor-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
本文中的web服务器安装在NODE02上,所以在进入web服务器时:网址为https://NODE02:8443
界面如下图所示,输入密码即可进入
启动后出现进程
AzkabanWebServer
AzkabanExecutorServer
表示已经启动成功