azkaban的安裝和使用
2. 3 Azkaban 安裝部署
準備工作
Azkaban Web 伺服器
azkaban-web-server-2.5.0.tar.gz
Azkaban 執行伺服器
azkaban-executor-server-2.5.0.tar.gz
MySQL
目前 azkaban 只支援 mysql, 需安裝 mysql 伺服器 , 本文件中預設已安裝好 mysql 伺服器 , 並建立了 root 使用者 , 密碼 root.
下載地址 :
安裝
將安裝檔案上傳到叢集 , 最好上傳到安裝 hive 、 sqoop 的機器上 , 方便命令的執行
在當前使用者目錄下新建 azkabantools 目錄 , 用於存放源安裝檔案 . 新建 azkaban 目錄 , 用於存放 azkaban 執行程式
azkaban web 伺服器安裝
解壓 azkaban-web-server-2.5.0.tar.gz
命令 : tar –zxvf azkaban-web-server-2.5.0.tar.gz
將解壓後的 azkaban-web-server-2.5.0 移動到 azkaban 目錄中 , 並重新命名 webserver
命令 : mv azkaban-web-server-2.5.0 ../azkaban
cd ../azkaban
mv azkaban-web-server-2.5.0 server
azkaban 執行服器安裝
解壓 azkaban-executor-server-2.5.0.tar.gz
命令 :tar –zxvf azkaban-executor-server-2.5.0.tar.gz
將解壓後的 azkaban-executor-server-2.5.0 移動到 azkaban 目錄中 , 並重新命名 executor
命令 :mv azkaban-executor-server-2.5.0 ../azkaban
cd ../azkaban
mv azkaban-executor-server-2.5.0 executor
azkaban 指令碼匯入
解壓 : azkaban-sql-script-2.5.0.tar.gz
命令 :tar –zxvf azkaban-sql-script-2.5.0.tar.gz
將解壓後的 mysql 指令碼 , 匯入到 mysql 中 :
進入 mysql
mysql> create database azkaban;
mysql> use azkaban;
Database changed
mysql> source /home/hadoop/azkaban-2.5.0/create-all-sql-2.5.0.sql;
建立 SSL 配置
參考地址 :
命令 : keytool -keystore keystore -alias jetty -genkey -keyalg RSA
執行此命令後 , 會提示輸入當前生成 keystor 的密碼及相應資訊 , 輸入的密碼請勞記 , 資訊如下 :
輸入 keystore 密碼:
再次輸入新密碼 :
您的名字與姓氏是什麼?
[Unknown] :
您的組織單位名稱是什麼?
[Unknown] :
您的組織名稱是什麼?
[Unknown] :
您所在的城市或區域名稱是什麼?
[Unknown] :
您所在的州或省份名稱是什麼?
[Unknown] :
該單位的兩字母國家程式碼是什麼
[Unknown] : CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正確嗎?
[ 否 ] : y
輸入 <jetty> 的主密碼
(如果和 keystore 密碼相同,按回車):
再次輸入新密碼 :
完成上述工作後 , 將在當前目錄生成 keystore 證照檔案 , 將 keystore 考貝到 azkaban web 伺服器根目錄中 . 如 :cp keystore azkaban/server
配置檔案
注:先配置好伺服器節點上的時區
1、 先生成時區配置檔案 Asia/Shanghai ,用互動式命令 tzselect 即可
2、 複製該時區檔案,覆蓋系統本地時區配置
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
azkaban web 伺服器配置
進入 azkaban web 伺服器安裝目錄 conf 目錄
v 修改 azkaban.properties 檔案
命令 vi azkaban.properties
內容說明如下 :
#Azkaban Personalization Settings azkaban.name=Test # 伺服器 UI 名稱 , 用於伺服器上方顯示的名字 azkaban.label=My Local Azkaban # 描述 azkaban.color=#FF3601 #UI 顏色 azkaban.default.servlet.path=/index # web.resource.dir=web/ # 預設根 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 executor.global.properties=conf/global.properties # global 配置檔案所在位置 azkaban.project.dir=projects #
database.type=mysql # 資料庫型別 mysql.port=3306 # 埠號 mysql.host=localhost # 資料庫連線 IP mysql.database=azkaban # 資料庫例項名 mysql.user=root # 資料庫使用者名稱 mysql.password=root # 資料庫密碼 mysql.numconnections=100 # 最大連線數
# Velocity dev mode velocity.dev.mode=false # Jetty 伺服器屬性 . jetty.maxThreads=25 # 最大執行緒數 jetty.ssl.port=8443 #Jetty SSL 埠 jetty.port=8081 #Jetty 埠 jetty.keystore=keystore #SSL 檔名 jetty.password=123456 #SSL 檔案密碼 jetty.keypassword=123456 #Jetty 主密碼 與 keystore 檔案相同 jetty.truststore=keystore #SSL 檔名 jetty.trustpassword=123456 # SSL 檔案密碼
# 執行伺服器屬性 executor.port=12321 # 執行伺服器埠
# 郵件設定 mail.sender=xxxxxxxx@163.com # 傳送郵箱 mail.host=smtp.163.com # 傳送郵箱 smtp 地址 mail.user=xxxxxxxx # 傳送郵件時顯示的名稱 mail.password=********** # 郵箱密碼 job.failure.email=xxxxxxxx@163.com # 任務失敗時傳送郵件的地址 job.success.email=xxxxxxxx@163.com # 任務成功時傳送郵件的地址 lockdown.create.projects=false # cache.directory=cache # 快取目錄
|
v azkaban 執行伺服器 executor 配置
進入執行伺服器安裝目錄 conf, 修改 azkaban.properties
vi azkaban.properties
#Azkaban default.timezone.id=Asia/Shanghai # 時區
# Azkaban JobTypes 外掛配置 azkaban.jobtype.plugin.dir=plugins/jobtypes #jobtype 外掛所在位置
#Loader for projects executor.global.properties=conf/global.properties azkaban.project.dir=projects
# 資料庫設定 database.type=mysql # 資料庫型別 ( 目前只支援 mysql) mysql.port=3306 # 資料庫埠號 mysql.host=192.168.20.200 # 資料庫 IP 地址 mysql.database=azkaban # 資料庫例項名 mysql.user=root # 資料庫使用者名稱 mysql.password=root # 資料庫密碼 mysql.numconnections=100 # 最大連線數
# 執行伺服器配置 executor.maxThreads=50 # 最大執行緒數 executor.port=12321 # 埠號 ( 如修改 , 請與 web 服務中一致 ) executor.flow.threads=30 # 執行緒數 |
|
v 使用者配置
進入 azkaban web 伺服器 conf 目錄 , 修改 azkaban-users.xml
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> |
啟動
web 伺服器
在 azkaban web 伺服器目錄下執行啟動命令
bin/azkaban-web-start.sh
注 : 在 web 伺服器根目錄執行
或者啟動到後臺
nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
執行伺服器
在執行伺服器目錄下執行啟動命令
bin/azkaban-executor-start.sh
注 : 只能要執行伺服器根目錄執行
啟動完成後 , 在瀏覽器 ( 建議使用谷歌瀏覽器 ) 中輸入 https:// 伺服器 IP 地址 :8443 , 即可訪問 azkaban 服務了 . 在登入中輸入剛才新的戶用名及密碼 , 點選 login.
-------------------------------------------------------------------------------------------------------------------
2.4 Azkaban 實戰
Azkaba 內建的任務型別支援 command 、 java
Command 型別單一 job 示例
1、 建立 job 描述檔案
vi command.job
#command.job type=command command=echo 'hello' |
2、 將 job 資原始檔打包成 zip 檔案
zip command.job
3、 透過 azkaban 的 web 管理平臺建立 project 並上傳 job 壓縮包
首先建立 project
上傳 zip 包
4 、啟動執行該 job
Command 型別多 job 工作流 flow
1、 建立有依賴關係的多個 job 描述
第一個 job : foo.job
# foo.job type=command command=echo foo |
第二個 job : bar.job 依賴 foo.job
# bar.job type=command dependencies=foo command=echo bar |
2、 將所有 job 資原始檔打到一個 zip 包中
3、 在 azkaban 的 web 管理介面建立工程並上傳 zip 包
4、 啟動工作流 flow
HDFS 操作任務
1、 建立 job 描述檔案
# fs.job type=command command=/home/hadoop/apps/hadoop-2.6.1/bin/hadoop fs -mkdir /azaz |
2、 將 job 資原始檔打包成 zip 檔案
3 、透過 azkaban 的 web 管理平臺建立 project 並上傳 job 壓縮包
4 、啟動執行該 job
MAPREDUCE 任務
Mr 任務依然可以使用 command 的 job 型別來執行
1、 建立 job 描述檔案,及 mr 程式 jar 包(示例中直接使用 hadoop 自帶的 example jar )
# mrwc.job type=command command=/home/hadoop/apps/hadoop-2.6.1/bin/hadoop jar hadoop-mapreduce-examples-2.6.1.jar wordcount /wordcount/input /wordcount/azout |
2、 將所有 job 資原始檔打到一個 zip 包中
3 、在 azkaban 的 web 管理介面建立工程並上傳 zip 包
4 、啟動 job
HIVE 指令碼任務
l 建立 job 描述檔案和 hive 指令碼
Hive 指令碼: test.sql
use default; drop table aztest; create table aztest(id int,name string) row format delimited fields terminated by ','; load data inpath '/aztest/hiveinput' into table aztest; create table azres as select * from aztest; insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest; |
Job 描述檔案: hivef.job
# hivef.job type=command command=/home/hadoop/apps/hive/bin/hive -f 'test.sql' |
2 、將所有 job 資原始檔打到一個 zip 包中
3 、在 azkaban 的 web 管理介面建立工程並上傳 zip 包
4 、啟動 job
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2213847/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- azkaban安裝
- azkaban在centos下的部署安裝CentOS
- azkaban 安裝中的幾個問題
- Linux環境Azkaban安裝配置Linux
- azkaban叢集模式安裝與execute-as-user配置模式
- Go的安裝和使用Go
- yarn的安裝和使用Yarn
- CMake的安裝和使用
- FTP的安裝和使用FTP
- GitLab 的安裝和使用Gitlab
- Python的安裝和使用Python
- webpack的安裝和基本使用Web
- geoserver PostGIS的安裝和使用Server
- VMware Workstation 的安裝和使用
- Jetty的安裝、配置和使用Jetty
- oswatch的安裝和使用
- LOGMNR的安裝和使用
- LogMiner的安裝和使用
- tcping的安裝和使用TCP
- ElasticSearch的安裝和使用,Postman的安裝,Kibana的安裝,EShead外掛的安裝ElasticsearchPostman
- Elasticsearch 安裝和使用Elasticsearch
- hydra 安裝和使用
- ActiveMq安裝和使用MQ
- httprunner 安裝和使用HTTP
- docker安裝和使用Docker
- nginx 安裝和使用Nginx
- goaccess安裝和使用Go
- PyMongo安裝和使用Go
- Webmin 安裝和使用Web
- Orbeon form 的安裝和使用教程ORBORM
- windows下Redis的安裝和使用WindowsRedis
- pyenv的安裝和簡單使用
- mongodb macos 下的安裝和使用MongoDBMac
- ubuntu下ndk的安裝和使用Ubuntu
- vim 中Ctags的安裝和使用
- tcpdump的本機安裝和使用TCP
- Oracle Stream的安裝、配置和使用Oracle
- centos下的AVAST安裝和使用CentOSAST