安裝
Azkaban的部署方式有三種:
????solo server mode:即獨(dú)立部署模塊瓤荔,數(shù)據(jù)庫(kù)被嵌入H2,web服務(wù)器和執(zhí)行服務(wù)器運(yùn)行在同一個(gè)進(jìn)程中逆趋,適用于小規(guī)模用例枉昏。
????two server mode:即兩個(gè)服務(wù)器模式,數(shù)據(jù)庫(kù)由主從設(shè)置的MySQL實(shí)例提供支持鸯屿,Web服務(wù)器和執(zhí)行服務(wù)器運(yùn)行在不同的進(jìn)程中澈吨,以便升級(jí)和維護(hù)不影響用戶把敢,適用于生成環(huán)境寄摆。
????multiple executor mode: 即多個(gè)執(zhí)行器模式,Web服務(wù)器和執(zhí)行器理想情況下運(yùn)行在不同的主機(jī)上修赞,這種多主機(jī)設(shè)置為Azkaban帶來(lái)了強(qiáng)大且可擴(kuò)展性婶恼。
1.1安裝依賴
????我們選擇第二種安裝模式,因此需要依賴Mysql柏副,java勾邦。
1.2安裝java
????下載jdk-8u171-linux-x64.tar.gz包,解壓到linux or centos安裝目錄割择。本文解壓到 /opt/java眷篇。
???? 修改/etc/profile,添加如下內(nèi)容:
????? #javapath
???? exportJAVA_HOME=/opt/java
????? exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
???? exportPATH=$PATH:$JAVA_HOME/bin
???? 執(zhí)行source /etc/profile.
1.3 安裝mysql(該方法centos上安裝)
???? rpm-qa | grep mysql
????#查看該操作系統(tǒng)上是否已經(jīng)安裝了 mysql 數(shù)據(jù)庫(kù)荔泳,有的話蕉饼,可以通過(guò) rpm -e 命令或者 rpm -e --nodeps 命令來(lái)卸載掉
????yum install mysql-server mysql mysql-devel # 安裝
????service mysqld start #啟動(dòng)
????chkconfig --list | grep mysqld #查看是否開(kāi)機(jī)啟動(dòng)
????mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
????chkconfigmysqld on #設(shè)置開(kāi)機(jī)啟動(dòng)
???? mysqladmin-u root password 'root'? #設(shè)置 root 登錄密碼
???? 登錄mysql 執(zhí)行:
????GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITHGRANT OPTION;
FLUSH PRIVILEGES;
???? 授權(quán)遠(yuǎn)程登錄對(duì)遠(yuǎn)程開(kāi)放 3306端口(建議直接把防火墻關(guān)了)
????? vi/etc/sysconfig/iptables
????-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
????重啟防火墻,使端口配置生效
?????service iptables restart
1.4 安裝azkaban
????安裝方式可以選擇源碼編譯安裝玛歌,也可以使用現(xiàn)成安裝包昧港。
????源碼在azkaban.github.com上自己拉相應(yīng)版本到本地。編譯參考:https://cloud.tencent.com/developer/article/1079131(這個(gè)編譯沒(méi)問(wèn)題安裝有問(wèn)題)
????這里介紹第二種:需要三個(gè)安裝包:????
? ??將三個(gè)文件解壓到安裝路徑:/opt/Azkaban/支子。重命名為sql创肥,web,executer。
????executor目錄:
? ? web目錄
? ? sql目錄
? ? ? ????在原生編譯包中executor和web沒(méi)有conf叹侄,plugins等文件夾巩搏。可以手動(dòng)創(chuàng)建趾代。conf配置文件可以從solo中拷貝塔猾。
????首先配置executor/conf/ azkaban.properties.如下:
????#Azkaban 時(shí)區(qū) 這里我沒(méi)有修改 最好修改一下改成本地時(shí)區(qū)
????default.timezone.id=America/Los_Angeles
????# 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=localhost #數(shù)據(jù)庫(kù)地址
????mysql.database=azkaban
????#azkaban使用的數(shù)據(jù)庫(kù)名稱
????mysql.user=root #登錄用戶名
????mysql.password=root
????mysql.numconnections=100
????# Azkaban Executorsettings
????executor.maxThreads=50
????executor.port=12321
????executor.flow.threads=30
配置web/conf/
????azkaban.properties.如下:
????#AzkabanPersonalization Settings
????azkaban.name=Test
????azkaban.label=MyLocal Azkaban
????azkaban.color=#FF3601
????azkaban.default.servlet.path=/index
????web.resource.dir=web/
????default.timezone.id=America/Los_Angeles#時(shí)區(qū) 這里沒(méi)改最好修改
????#Azkaban UserManagerclass
????user.manager.class=azkaban.user.XmlUserManager
????user.manager.xml.file=conf/azkaban-users.xml
????#azkaban web登錄用戶
????#Loader for projects
????executor.global.properties=conf/global.properties
????azkaban.project.dir=projects
????database.type=mysql
????mysql.port=3306
????mysql.host=localhost
????mysql.database=azkaban
????mysql.user=root
????mysql.password=root
????mysql.numconnections=100 #Velocity dev mode
????velocity.dev.mode=false
????# Azkaban Jettyserver properties.
????# 如果這里設(shè)置false 下面將不用 jetty 密碼等 選擇 不用配置
????#只需 配置 maxThreads 與 port (web 請(qǐng)求端口)
????#? ?jetty.use.ssl=false
????jetty.maxThreads=25
????jetty.ssl.port=8443
????jetty.port=8081
????jetty.keystore=keystore
????jetty.password=123456
????# 這個(gè)密碼是SSL設(shè)置的密碼
????jetty.keypassword=123456
????jetty.truststore=keystore
????jetty.trustpassword=123456
????# Azkaban Executorsettings
????executor.port=12321
????# mail settings
????azkaban發(fā)送郵件配置????
????mail.sender=xxxx@163.com
????mail.host=smtp.163.com
????mail.user=xxxx@163.com
????mail.password=xxxx
????job.failure.email=xxxx@163.com
????job.success.email=xxx@163.com
????lockdown.create.projects=false
????配置web/conf/azkaban-users.xml.(可選擇配置):? ?
????至此azkaban的配置結(jié)束? ??
其他工作? ? ?azkaban依賴mysql. 因此導(dǎo)入sql的表。Mysql中建立azkaban數(shù)據(jù)庫(kù)稽坤。
????create database azkaban丈甸;
? ? source create-all-sql-2.5.0.sql;
? ? 上面如果選擇了 SSL驗(yàn)證那么需要在web目錄下執(zhí)行:
? ? keytool -keystore keystore -aliasjetty -genkey -keyalg RSA
????運(yùn)行此命令后,會(huì)提示輸入當(dāng)前生成keystor的密碼及相應(yīng)信息,輸入的密碼請(qǐng)勞記,信息如下:
????輸入keystore密碼:#注意和上面配置的密碼一致
????再次輸入新密碼:
????您的名字與姓氏是什么?#對(duì)于unknown可以 一路回車(chē)不寫(xiě)
????[Unknown]:
????您的組織單位名稱是什么尿褪?
????[Unknown]:
????您的組織名稱是什么睦擂?
????[Unknown]:
????您所在的城市或區(qū)域名稱是什么?
????[Unknown]:
????您所在的州或省份名稱是什么杖玲?
????[Unknown]:
????該單位的兩字母國(guó)家代碼是什么
????[Unknown]:?CN
????CN=Unknown, OU=Unknown,
????O=Unknown,L=Unknown, ST=Unknown, C=CN 正確嗎顿仇?
????[否]:?y
????輸入的主密碼? #也需要和上面配置一致 建立 上面兩個(gè)密碼設(shè)置一樣
????如果和keystore 密碼相同,按回車(chē)):
????再次輸入新密碼:
????完成上述工作后,將在當(dāng)前目錄生成keystore 證書(shū)文件,將keystore 考貝到 azkaban web服務(wù)器根????目錄中.如:cpkeystore azkaban/server
????這樣后會(huì)在web下生產(chǎn)一個(gè)keystore文件摆马。當(dāng)然也可以在別的目錄執(zhí)行該命令臼闻。然后把這個(gè)????keystore拷貝到web目錄下。
????centos修改時(shí)區(qū)囤采,時(shí)區(qū)的信息存在/usr/share/zoneinfo/下面述呐,本機(jī)的時(shí)區(qū)信息存在/etc/localtime。????例如修改成亞洲的上海蕉毯。
????cp/usr/share/zoneinfo/Asia/Shanghai /etc/localtime
? ?至此所有的配置和相關(guān)配置結(jié)束乓搬。