1.Azkaban的安装部署
azkaban的资源下载
https://azkaban.github.io/azkaban/docs/latest/#ajax-api
http://azkaban.github.io/downloads.html
1.1.配置mysql
1.1.1.修改mysql的编码
(1)启动mysql
service mysqld start
(2) 登录mysql
mysql -uroot -p
(3)执行编码显示
show variables like 'character%';
(4)在linux下修改mysql配置文件my.conf
vi /etc/my.conf
找到客户端配置[client] 在下面添加 (没有的话创建)
default-character-set=utf8 //默认字符集为utf8
在找到[mysqld] 在下面添加
character-set-server=utf8 //默认字符集为utf8
修改好后,重新启动mysql即可
service mysqld restart
登录MySQL查询一下
show variables like 'character%';
1.1.2.登录mysql执行脚本
mysql –uroot –p
#为Azkaban创建数据库
CREATE DATABASE azkaban;
#授权
set password=password('123456'); update mysql.user set authentication_string=password('123456') where user='root'; grant all on *.* to azkaban@'%' identified by 'azkaban'; grant all on *.* to azkaban@'hadoop01' identified by 'azkaban'; grant all on *.* to azkaban@'localhost' identified by 'azkaban';
#刷新权限
flush privileges;
#退出
exit;
#执行初始化脚本(Azkaban需要的数据表)
在 /usr/local/ 下面创建了文件夹azkaban
mkdir azkaban
create-all-sql-2.5.0.sql是我自己的数据库表
在mysql里面执行
source /usr/local/azkaban/create-all-sql-2.5.0.sql
1.2.配置azkaban web server
1.2.1.解压azkaban压缩包
下载安装unzip
yum -y install unzip
上传压缩包azkaban-web-2.5.0.zip到 /usr/local/azkaban/下
unzip azkaban-web-2.5.0.zip
1.2.1.上传mysql驱动包(我们只需要mysql驱动包中的mysql-connector-java-5.1.46-bin.jar)
(1)可以直接上传mysql-connector-java-5.1.46-bin.jar 至 azkaban-web-2.5.0/extlib/
(2)或者
解压MySQL驱动包 [lan@master azkaban]$ tar -xvf mysql-connector-java-5.1.46.tar.gz [[lan@masterazkaban]$cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar azkaban-web-2.5.0/extlib/
1.3.配置jetty.ssl
keytool -keystore keystore -alias jetty -genkey -keyalg RSA 执行完上面的命令之后显示如下信息: Enter keystore password: password What is your first and last name? 您的名字与姓氏是什么? [Unknown]: jetty.mortbay.org What is the name of your organizational unit?您的组织单位名称是什么? [Unknown]: Jetty What is the name of your organization?您的组织名称是什么? [Unknown]: Mort Bay Consulting Pty. Ltd. 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=jetty.mortbay.org, OU=Jetty, O=Mort Bay Consulting Pty. Ltd., L=Unknown, ST=Unknown, C=Unknown correct?正确吗? [no]: 是 Enter key password for <jetty> (RETURN if same as keystore password): password 注意:这里keystore的密码为password;key的密码为password可自行修改
1.3.1.生成 keystore
完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中,命令如下:
[lan@master ~]$ cp keystore azkaban/azkaban-web-2.5.0/
1.4.修改配置文件
1.4.1.进入azkaban web服务器安装目录 conf目录,修改azkaban.properties文件
[lan@master azkaban]$ cd azkaban-web-2.5.0/conf/ [lan@master conf]$ vi azkaban.properties
#Azkaban Personalization Settings #服务器UI名称,用于服务器上方显示的名字 azkaban.name=Test #描述 azkaban.label=My Local Azkaban #UI颜色 azkaban.color=#FF3601 #默认servlet路径 azkaban.default.servlet.path=/index #默认根web目录 web.resource.dir=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 # global配置文件所在位置 executor.global.properties=conf/global.properties # azkaban.project.dir=projects #数据库类型 database.type=mysql #端口号 mysql.port=3306 #数据库连接IP mysql.host=master #数据库实例名 mysql.database=azkaban #数据库用户名 mysql.user=azkaban #数据库密码 mysql.password=azkaban #最大连接数 mysql.numconnections=100 # Velocity dev mode velocity.dev.mode=false # Jetty服务器属性. #最大线程数 jetty.maxThreads=25 #Jetty SSL端口 jetty.ssl.port=8443 #Jetty端口 jetty.port=8081 #SSL文件名 jetty.keystore=keystore #SSL文件密码 jetty.password=password #Jetty主密码 与 keystore文件相同 jetty.keypassword=password #SSL文件名 jetty.truststore=keystore # SSL文件密码 jetty.trustpassword=password #执行服务器属性 #执行服务器端口 executor.port=12321 #邮件设置 (可以不设置) #发送邮箱 mail.sender=sunboyscf@163.com #发送邮箱smtp地址 mail.host=smtp.163.com #发送邮件时显示的名称 mail.user=sunboyscf #邮箱密码 mail.password=********** #任务失败时发送邮件的地址 job.failure.email=sunboyscf@163.com #任务成功时发送邮件的地址 job.success.email=sunboyscf@163.com # lockdown.create.projects=false #缓存目录 cache.directory=cache
1.4.2.修改文件权限
chmod 755 /usr/local/azkaban/azkaban-web-2.5.0/bin/*
1.5.配置Azkaban Executor Server
1.5.1解压
上传压缩包azkaban-executor-2.5.0.zip至/usr/local/azkaban/下
unzip azkaban-executor-2.5.0.zip
1.5.2.azkaban执行服务器配置
(1)进入执行服务器安装目录修改配置文件
cd azkaban-executor-2.5.0/conf/ vi azkaban.properties
#Azkaban #时区 default.timezone.id=Asia/Shanghai #Azkaban JobTypes 插件配置 #jobtype 插件所在位置 azkaban.jobtype.plugin.dir=plugins/jobtypes #Loader for projects executor.global.properties=conf/global.properties azkaban.project.dir=projects #数据库设置 #数据库类型(目前只支持mysql) database.type=mysql #数据库端口号 mysql.port=3306 #数据库IP地址 mysql.host=master #数据库实例名 mysql.database=azkaban #数据库用户名 mysql.user=azkaban #数据库密码 mysql.password=azkaban #最大连接数 mysql.numconnections=100 #执行服务器配置 #最大线程数 executor.maxThreads=50 #端口号(如修改,请与web服务中致) executor.port=12321 #线程数 executor.flow.threads=30
1.5.3.修改文件权限
chmod 755 /usr/local/azkaban/azkaban-executor-2.5.0/bin/*
1.6.用户配置
进入azkaban web服务器conf目录,修改azkaban-users.xml
增加管理员用户
cd azkaban-web-2.5.0/conf/ 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>
1.6.启动
1.6.1web服务器
在azkaban web服务器目录下执行启动命令
[lan@master azkaban-web-2.5.0]$ bin/azkaban-web-start.sh
注:只能要web服务器根目录运行
1.6.1.执行服务器
在执行服务器目录下执行启动命令
[lan@master azkaban-executor-2.5.0]$ bin/azkaban-executor-start.sh
注:只能要执行服务器根目录运行