第8章 Azkaban調度器
8.1 Azkaban安裝
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
azkaban-web-server-2.5.0.tar.gz
2.2 安裝Azkaban
- 在/opt/module/目錄下創建azkaban目錄
[atguigu@hadoop102 module]$ mkdir azkaban - 解壓azkaban-web-server-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz到/opt/module/azkaban目錄下
[atguigu@hadoop102 software]$ tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban/
[atguigu@hadoop102 software]$ tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C /opt/module/azkaban/
[atguigu@hadoop102 software]$ tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/ - 對解壓後的文件重新命名
[atguigu@hadoop102 azkaban]$ mv azkaban-web-2.5.0/ server
[atguigu@hadoop102 azkaban]$ mv azkaban-executor-2.5.0/ executor - azkaban腳本導入
進入mysql,創建azkaban數據庫,並將解壓的腳本導入到azkaban數據庫。
[atguigu@hadoop102 azkaban]$ mysql -uroot -p000000
mysql> create database azkaban;
mysql> use azkaban;
mysql> source /opt/module/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
注:source後跟.sql文件,用於批量處理.sql文件中的sql語句。
2.3 生成密鑰庫
Keytool是java數據證書的管理工具,使用戶能夠管理自己的公/私鑰對及相關證書。
-keystore 指定密鑰庫的名稱及位置(產生的各類信息將不在.keystore文件中)
-genkey 在用戶主目錄中創建一個默認文件".keystore"
-alias 對我們生成的.keystore 進行指認別名;如果沒有默認是mykey
-keyalg 指定密鑰的算法 RSA/DSA 默認是DSA
1)生成 keystore的密碼及相應信息的密鑰庫
[hadoop@hadoop102 /opt/module/azkaban]$keytool -keystore keystore -alias jetty -genkey -keyalg RSA
輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什麼?
[Unknown]:
您的組織單位名稱是什麼?
[Unknown]:
您的組織名稱是什麼?
[Unknown]:
您所在的城市或區域名稱是什麼?
[Unknown]:
您所在的省/市/自治區名稱是什麼?
[Unknown]:
該單位的雙字母國家/地區代碼是什麼?
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正確?
[否]: y
輸入 的密鑰口令
(如果和密鑰庫口令相同, 按回車):
再次輸入新口令:
注意:
密鑰庫的密碼至少必須6個字符,可以是純數字或者字母或者數字和字母的組合等等
密鑰庫的密碼最好和 的密鑰相同,方便記憶
2)將keystore 拷貝到 azkaban web服務器根目錄中
[atguigu@hadoop102 azkaban]$ mv keystore /opt/module/azkaban/server/
2.5 配置文件
2.5.1 Web服務器配置
1)進入azkaban web服務器安裝目錄 conf目錄,打開azkaban.properties文件
[atguigu@hadoop102 conf]$ pwd
/opt/module/azkaban/server/conf
[atguigu@hadoop102 conf]$ vim azkaban.properties
2)按照如下配置修改azkaban.properties文件。
#Azkaban Personalization Settings
#服務器UI名稱,用於服務器上方顯示的名字
azkaban.name=Test
#描述
azkaban.label=My Local Azkaban
#UI顏色
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
#默認web server存放web文件的目錄
web.resource.dir=/opt/module/azkaban/server/web/
#默認時區,已改爲亞洲/上海 默認爲美國
default.timezone.id=Asia/Shanghai
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
#用戶權限管理默認類(絕對路徑)
user.manager.xml.file=/opt/module/azkaban/server/conf/azkaban-users.xml
#Loader for projects
#global配置文件所在位置(絕對路徑)
executor.global.properties=/opt/module/azkaban/executor/conf/global.properties
azkaban.project.dir=projects
#數據庫類型
database.type=mysql
#端口號
mysql.port=3306
#數據庫連接IP
mysql.host=hadoop102
#數據庫實例名
mysql.database=azkaban
#數據庫用戶名
mysql.user=root
#數據庫密碼
mysql.password=000000
#最大連接數
mysql.numconnections=100
Velocity dev mode
velocity.dev.mode=false
Azkaban Jetty server properties.
Jetty服務器屬性.
#最大線程數
jetty.maxThreads=25
#Jetty SSL端口
jetty.ssl.port=8443
#Jetty端口
jetty.port=8081
#SSL文件名(絕對路徑)
jetty.keystore=/opt/module/azkaban/server/keystore
#SSL文件密碼
jetty.password=000000
#Jetty主密碼與keystore文件相同
jetty.keypassword=000000
#SSL文件名(絕對路徑)
jetty.truststore=/opt/module/azkaban/server/keystore
#SSL文件密碼
jetty.trustpassword=000000
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
3)web服務器用戶配置
在azkaban web服務器安裝目錄 conf目錄,按照如下配置修改azkaban-users.xml 文件,增加管理員用戶。
[atguigu@hadoop102 conf]$ vim azkaban-users.xml
2.5.2 執行服務器配置
1)進入執行服務器安裝目錄conf,打開azkaban.properties
[atguigu@hadoop102 conf]$ pwd
/opt/module/azkaban/executor/conf
[atguigu@hadoop102 conf]$ vim azkaban.properties
1) 按照如下配置修改azkaban.properties文件。
#Azkaban
#時區
default.timezone.id=Asia/Shanghai
Azkaban JobTypes Plugins
#jobtype 插件所在位置
azkaban.jobtype.plugin.dir=plugins/jobtypes
#Loader for projects
executor.global.properties=/opt/module/azkaban/executor/conf/global.properties
azkaban.project.dir=projects
database.type=mysql
mysql.port=3306
mysql.host=hadoop102
mysql.database=azkaban
mysql.user=root
mysql.password=000000
mysql.numconnections=100
Azkaban Executor settings
#最大線程數
executor.maxThreads=50
#端口號(如修改,請與web服務中一致)
executor.port=12321
#線程數
executor.flow.threads=30
2.6 啓動executor服務器
在executor服務器目錄下執行啓動命令
[atguigu@hadoop102 executor]$ pwd
/opt/module/azkaban/executor
[atguigu@hadoop102 executor]$ bin/azkaban-executor-start.sh
2.7 啓動web服務器
在azkaban web服務器目錄下執行啓動命令
[atguigu@hadoop102 server]$ pwd
/opt/module/azkaban/server
[atguigu@hadoop102 server]$ bin/azkaban-web-start.sh
注意:
先執行executor,再執行web,避免Web Server會因爲找不到執行器啓動失敗。
jps查看進程
[atguigu@hadoop102 server]$ jps
3601 AzkabanExecutorServer
5880 Jps
3661 AzkabanWebServer
啓動完成後,在瀏覽器(建議使用谷歌瀏覽器)中輸入https://服務器IP地址:8443,即可訪問azkaban服務了。
在登錄中輸入剛纔在azkaban-users.xml文件中新添加的戶用名及密碼,點擊 login。
https://192.168.10.102:8443