Azkaban集群安裝

上一篇文章講解了Azkaban的單機版安裝和簡單的使用說明。本文主要講解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

1、配置mysql資料庫

進入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=mysql

mysql.port=3306

mysql.host=10.1.2.217

mysql.database=azkaban

mysql.user=azkaban

mysql.password=azkaban

mysql.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/pig

hive.home=/home/hadoop/hive-1.1.0-cdh5.5.0

spark.home=/home/hadoop/spark-1.6.0-bin-hadoop2.6

azkaban.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=mysql

mysql.port=3306

mysql.host=10.1.2.217

mysql.database=azkaban

mysql.user=azkaban

mysql.password=azkaban

mysql.numconnections=100

#關閉 jetty ssl,該功能用於開啟https服務,暫時不需要

jetty.use.ssl=false

#配置告警郵件

mail.sender=emailname@163.com

mail.host=smtp.163.com

mail.user=username

mail.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

訪問地址:hostname:8081 彈出界面如下:

整個過程安裝完畢。下一篇將會簡介command、hive、java、hadoop四種任務在azkaban上的編寫和運行。

推薦閱讀:

大數據那些事(28):卡夫卡們的故事
Spark編程有哪些有用技巧?
HDFS上小數據如何能負載均衡?
SparkSQL中的Sort實現(二)
什麼是流式數據訪問?

TAG:Hadoop | 任务系统 |