大数据任务调度软件azkaban安装部署及使用
摘要:Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
1、安装
准备工作
azkaban-web-server-2.5.0.tar.gz azkaban-executor-server-2.5.0.tar.gz azkaban-sql-script-2.5.0.tar.gz |
其中,azkaban-web-server-2.5.0.tar.gz是服务器,azkaban-executor-server-2.5.0.tar.gz是执行服务器,azkaban-sql-script-2.5.0.tar.gz是执行的sql脚本。
下载azkaban编译后的包,见百度网盘
解压文件到自己指定的目录下。
2、mysql创建,导入azkaban元数据
①建立azkaban数据库
mysql> create database azkaban; |
②选定数据库
mysql> use azkaban; |
③把azkaban元数据加载进数据库
mysql> source /home/docs/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql; |
注:sql脚本使用自己指定目录的路径
3、配置keystore
在azkaban web文件夹下生成密钥:keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password: 123456(密码设置成自己常用的) what is your first and last name: azkaban(用户名设置成自己常用的) what is the name of your organizational unit: twinkle(公司名称) what is the name of your organization: twinkle(公司名称) what is the name of your City or Locality: beijing(城市) what is the name of your State or Province: beijing(城市) what is the two_letter country code for this unit: CN(国家) |
将生成的keystone文件拷贝到web-server的安装目录下,和conf等目录同级
4、修改配置文件
修改azkaban-executor-2.5.0执行器目录下的配置文件(红色标记需修改)
#Azkaban default.timezone.id=Asia/Shanghai # Azkaban JobTypes Plugins azkaban.jobtype.plugin.dir=plugins/jobtypes #Loader for projects executor.global.properties=/home/docs/azkaban/azkaban-executor-2.5.0/conf/global.properties ##修改为绝对路径 azkaban.project.dir=projects database.type=mysql mysql.port=3306 mysql.host=localhost mysql.database=azkaban mysql.user=root mysql.password=1234 mysql.numconnections=100 # Azkaban Executor settings executor.maxThreads=50 executor.port=12321 executor.flow.threads=30 |
修改azkaban-web-2.5.0服务器的配置文件(红色字体需要根据自己情况修改)
#Azkaban Personalization Settings azkaban.name=Test azkaban.label=My Local Azkaban azkaban.color=#FF3601 azkaban.default.servlet.path=/index web.resource.dir=/home/docs/azkaban/azkaban-web-2.5.0/web/ ##修改为绝对路径 default.timezone.id=Asia/Shanghai #Azkaban UserManager class user.manager.class=azkaban.user.XmlUserManager user.manager.xml.file=/home/docs/azkaban/azkaban-web-2.5.0/conf/azkaban-users.xml ##修改为绝对路径 #Loader for projects executor.global.properties=/home/docs/azkaban/azkaban-web-2.5.0/conf/global.properties ##修改为绝对路径 azkaban.project.dir=projects database.type=mysql mysql.port=3306 mysql.host=localhost mysql.database=azkaban mysql.user=root mysql.password=1234 mysql.numconnections=100 # Velocity dev mode velocity.dev.mode=false # Azkaban Jetty server properties. jetty.use.ssl=false ##关闭jetty ssl链接 jetty.maxThreads=25 jetty.ssl.port=7101 jetty.port=7101(不被占用的情况下自由设置) jetty.keystore=/home/docs/azkaban/azkaban-web-2.5.0/bin/keystore jetty.password=123456 jetty.keypassword=123456 jetty.truststore=/home/docs/azkaban/azkaban-web-2.5.0/bin/keystore jetty.trustpassword=123456 # Azkaban Executor settings executor.port=12321 # mail settings mail.sender= mail.host= job.failure.email= job.success.email= lockdown.create.projects=false cache.directory=cache |
5、启动程序
启动执行器:./azkaban-executor-start.sh
启动server:./azkaban-web-start.sh
注:启动脚本都在各自相应的bin文件目录下
6、访问网页
http://IP:7101/index(地址用自己服务器地址,端口号已经在服务器配置文件中配置7101)
账户名密码在配置文件已经配置好了为:azkaban/azkaban
7、制定一个简单的定时任务
在本地新建一个名为command.job的文件内容如下:
type=command
command=echo “test 001"
将上述job打成zip包,点击upload选择zip包上传。点击运行就会打印test 001,这样一个简单的定时任务就完成了。