Azkaban集群安裝
集群機器概覽:
主機域名 主機IP 安裝組件nndemain1 10.1.2.207 azkaban-webnndemain2 10.1.2.217 mysqlnndeslave1 10.1.2.204 azkaban-execnndeslave2 10.1.2.205 azkaban-execnndeslave3 10.1.2.206 azkaban-execn
所需要的組件包,點擊下載:
- azkaban-web-server-3.0.0.tar.gz
- azkaban-exec-server-3.0.0.tar.gz
- azkaban-jobtype-3.0.0.tar.gz
- azkaban-sql-script-3.0.0.tar.gz
進入demain2機器,打開mysql命令行界面,分別執行以下命令
CREATE DATABASE azkaban; #創建azkaban資料庫
CREATE USER azkaban@% IDENTIFIED BY azkaban; #創建對於的用戶GRANT ALL ON azkaban.* to azkaban@% WITH GRANT OPTION; #授權FLUSH PRIVILEGES; #刷新許可權SOURCE create.all.sql; #導入數據,sql 文件在azkaban-sql-script-3.0.0.tar.gz包中
執行成功後,使用azkaban用戶進入mysql,查看是否已經創建azkaban資料庫,並且資料庫中存在以下這些表:
2、配置執行伺服器
執行伺服器用於具體執行azkaban任務,採用集群部署。
(1)進入deslave1機器,把azkaban-exec-server-3.0.0.tar.gz拷貝到用戶根目錄下,並解壓
(2)進入解壓後的目錄,編輯配置文件conf/azkaban.properties
#修改時區
default.timezone.id=Asia/Shanghai #修改mysql配置database.type=mysqlmysql.port=3306mysql.host=10.1.2.217mysql.database=azkabanmysql.user=azkaban
mysql.password=azkabanmysql.numconnections=100
(3)把azkaban-jobtype-3.0.0.tar.gz解壓到plugins目錄下,並重命名為jobtype
(4)編輯 commonprivate.properties 和 common.properties 文件,指定各個組件的home路徑
hadoop.home=/home/hadoop/hadoop-2.6.0-cdh5.5.0
pig.home=/home/hadoop/azkaban/azkaban-solo-server-3.0.0/plugins/jobtypes/pighive.home=/home/hadoop/hive-1.1.0-cdh5.5.0spark.home=/home/hadoop/spark-1.6.0-bin-hadoop2.6azkaban.home=/home/hadoop/azkaban/azkaban-solo-server-3.0.0
(5)至此執行伺服器安裝配置完成。同理在deslave2和deslave3兩台機器上按相同的步驟安裝azkaban-exec。
(6)在每台機器上啟動azkaban-exec
./bin/azkaban-executor-start.sh
3、配置web伺服器
進入demain1機器,把azkaban-web-server-3.0.0.tar.gz拷貝到用戶home目錄下,並解壓
配置conf/azkaban.properties文件
#修改時區
default.timezone.id=Asia/Shanghai#修改mysql配置database.type=mysqlmysql.port=3306mysql.host=10.1.2.217mysql.database=azkabanmysql.user=azkabanmysql.password=azkabanmysql.numconnections=100
#關閉 jetty ssl,該功能用於開啟https服務,暫時不需要jetty.use.ssl=false#配置告警郵件mail.sender=emailname@163.commail.host=http://smtp.163.commail.user=usernamemail.password=password
最後,最重要的一步:
打開mysql,往azkaban資料庫的executors表中插入以下記錄:
這是azkaban集群版的一個不夠智能的地方,用戶需要手動把機器添加到該表中,系統才能調用到對應的機器,官網的描述如下:
Configure executors for Multiple Executor Mode
We dont have a executor management UI at this point of Time. Executors need to be configured in database. For examples:- Insert all executors into the mysql DB for executor setups. Verify that correct executors are active in executors table.insert into executors(host,port) values("EXECUTOR_PORT",EXECUTOR_PORT);
至此web伺服器也配置完成。啟動命令如下
./bin/azkaban-web-start.sh
訪問地址:http://hostname:8081 彈出界面如下:
整個過程安裝完畢。下一篇將會簡介command、hive、java、hadoop四種任務在azkaban上的編寫和運行。推薦閱讀:
※大數據那些事(28):卡夫卡們的故事
※Spark編程有哪些有用技巧?
※HDFS上小數據如何能負載均衡?
※SparkSQL中的Sort實現(二)
※什麼是流式數據訪問?