Azkaban-3.43.0 安裝部署
阿新 • • 發佈:2018-11-23
1.遇到的問題
在資料分析系統,有大量的shell,hive,sqoop指令碼。之間存在一定的依賴。 比如A指令碼,將日誌資料匯入到hdfs中。B指令碼對日誌資料進行分析。A執行完成以後,B才開始執行。 如果需要A還未執行完,B就開會執行,分析結果必然不對。所以需要一個任務排程系統。2.Azkaban和oozie
Azkaban,配置,使用簡單,名字也好聽啊,當然用這個。百度都是資料,可以自查。3.下載Azkaban
git clone https://github.com/azkaban/azkaban.git 也可以直接去git上下載所需版本的tar包4.Azkaban的部署模式
1.solo server mode,依賴自帶的H2資料庫,web server和executor server在同一個執行緒。測試或者小規模的案例可以用。 2.two sercer mode,需要mysql作為元資料庫,web server和executor server在不同一個執行緒 3.multiple executor mode,2模式的擴充套件,可以有多個executor server 教程使用第2種模式5.build
編譯,時間會比較慢 ./gradlew installDist6.建立Azkaban元資料庫
sql指令碼在azkaban-db檔案中 mysql> use azkaban;7.配置 keystore
keytool -keystore keystore -alias jetty -genkey -keyalg RSA Enter keystore password: 123456 what is your first and last name: fibonacci what is the name of your organizational unit: xxx what is the name of your organization: xxx 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等目錄同級8.建立必要目錄
解壓azkaban-exec-server,azkaban-web-server的tar包 1.Azkaban-web-server bin 啟動指令碼存放目錄 conf 配置檔案存放目錄(沒有的話從solo-server的目錄中拷貝過來) lib 依賴jar包存放目錄extlib 附加jar包存放目錄(沒有的話手動建立) plugins 外掛安裝目錄web web 資原始檔 logs 日誌檔案(手動建立) 2.Azkaban-exec-server bin 啟動指令碼存放目錄conf 配置檔案存放目錄(沒有的話從solo-server的目錄中拷貝過來)lib 依賴jar包存放目錄extlib 附加jar包存放目錄(沒有的話手動建立)plugins 外掛安裝目錄 以上的目錄,沒有的話從azkaban-solo-server裡面拷貝9.配置檔案
1.azkaban-web-server azkaban.properties# Azkaban Personalization Settings
azkaban.name=Allin # 伺服器UI名稱,介面顯示
azkaban.label=My Local Azkaban # 描述
azkaban.color=#FF3601 # 介面顏色
azkaban.default.servlet.path=/index
web.resource.dir=/azkaban-web-server/web/ # 最好用絕對路徑,不然介面可能會詭異的醜
default.timezone.id=Asia/Shanghai
# 許可權
# Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/azkaban-web-server/conf/azkaban-users.xml # 絕對路徑,不然可能報錯
# Loader for projects
executor.global.properties=/azkaban-web-server/conf/global.properties # 絕對路徑,不然可能報錯
azkaban.project.dir=/azkaban-web-server/projects # 絕對路徑,不然可能報錯
# Velocity dev mode
velocity.dev.mode=false
# jerry伺服器的配置
# Azkaban Jetty server properties.
jetty.use.ssl=false
jetty.maxThreads=25
jetty.port=8443
jetty.keystore=//azkaban-web-server/conf/keystore # 用的是步驟5生成的檔案
jetty.password=123456 # 密碼都設一樣的,也好記
jetty.keypassword=123456
jetty.truststore=//azkaban-web-server/conf/keystore
jetty.trustpassword=123456
# Azkaban Executor settings
executor.port=12321 # 執行伺服器埠
# 郵件配置,job失敗的話,會發郵件提醒,我沒配置
# mail settings
mail.sender=
mail.host=
# User facing web server configurations used to construct the user facing server URLs. They are useful when there is a reverse proxy between Azkaban web servers and users.
# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
# when this parameters set then these parameters are used to generate email links.
# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
# azkaban.webserver.external_hostname=myazkabanhost.com
# azkaban.webserver.external_ssl_port=443
# azkaban.webserver.external_port=8081
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
# JMX stats
jetty.connector.stats=true
executor.connector.stats=true
# Azkaban plugin settings
azkaban.jobtype.plugin.dir=/azkaban-web-server/plugins/jobtypes
# mysql配置
database.type=mysql
mysql.port=3306
mysql.host=hadoop02
mysql.database=azkaban
mysql.user=root
mysql.password=123456
mysql.numconnections=100
2.azkaban-web-server azkaban-users.xml
一看就知道怎麼配置了
3.azkaban-exec-server azkaban.properties
# Azkaban Personalization Settings
default.timezone.id=Asia/Shanghai
# Loader for projects
executor.global.properties=/azkaban-exec-server/conf/global.properties
azkaban.project.dir=/azkaban-exec-server/projects
azkaban.jobtype.plugin.dir=/azkaban-exec-server/plugins/jobtypes
database.type=mysql
mysql.port=3306
mysql.host=hadoop02
mysql.database=azkaban
mysql.user=root
mysql.password=123456
mysql.numconnections=100
# Azkaban Executor settings
executor.maxThreads=50 # 最大執行緒數
executor.port=12321 # 埠號
executor.flow.threads=30 # 流式執行的執行緒數
4.log4j的配置
log4j.rootLogger=DEBUG,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n