日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Azkaban的介绍、安装与使用

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Azkaban的介绍、安装与使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載:https://blog.csdn.net/Sven119/article/details/90144843

目錄

1、概述

1.1、為什么需要工作流調度器

1.2、工作流調度實現方式

1.3、常見工作流調度系統

1.4、各種調度工具對比

1.5、azkaban與oozie對比

1.6、azkaban介紹

2、azkaban安裝部署

2.1、準備工作

2.2、安裝說明

2.3、安裝Azkaban Web服務器

2.4、安裝Azkaban Excutor服務器

2.5、安裝Azkaban腳本導入

2.6、創建SSL配置

2.7、修改配置文件

2.8、配置環境變量

2.9、啟動

3、Azkaban實戰演示

3.1、Command類型單一job示例

3.2、Command類型多job工作流flow

3.3、操作HDFS任務

3.4、操作MR任務

3.5、Hive腳本任務


1、概述

1.1、為什么需要工作流調度器

1、一個完整的數據分析系統通常是由大量任務單元組成:

shell腳本程序、java程序、mapreduce程序、hive腳本等

2、各任務單元之間存在時間先后及前后依賴關系

3、為了很好的組織起這樣的復雜執行計劃,需要一個工作流調度系統來調度執行。

1.2、工作流調度實現方式

簡單的任務調度:直接使用linux的crontab(定時任務)來定義。

復雜的任務調度:開發調度平臺或使用現成的開源調度系統,比如ooize、azkaban等。

1.3、常見工作流調度系統

市面上目前有許多工作流調度器

在hadoop領域,常見的工作流調度器有oozie、azkaban、cascading、hamake等

1.4、各種調度工具對比

下面的表格對上述四種hadoop工作流調度器的關鍵特征進行了比較,盡管這些工作流調度器能夠解決需求場景基本一致,但在設計理念,目標用戶,應用場景等方面還是存在顯著的區別,在技術選型時可供參考

Azkaban的介紹、安裝與使用
2019年05月12日 20:59:17 劍行極鋒 閱讀數:602
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/Sven119/article/details/90144843
目錄

1、概述

1.1、為什么需要工作流調度器

1.2、工作流調度實現方式

1.3、常見工作流調度系統

1.4、各種調度工具對比

1.5、azkaban與oozie對比

1.6、azkaban介紹

2、azkaban安裝部署

2.1、準備工作

2.2、安裝說明

2.3、安裝Azkaban Web服務器

2.4、安裝Azkaban Excutor服務器

2.5、安裝Azkaban腳本導入

2.6、創建SSL配置

2.7、修改配置文件

2.8、配置環境變量

2.9、啟動

3、Azkaban實戰演示

3.1、Command類型單一job示例

3.2、Command類型多job工作流flow

3.3、操作HDFS任務

3.4、操作MR任務

3.5、Hive腳本任務

1、概述
1.1、為什么需要工作流調度器
1、一個完整的數據分析系統通常是由大量任務單元組成:

shell腳本程序、java程序、mapreduce程序、hive腳本等

2、各任務單元之間存在時間先后及前后依賴關系

3、為了很好的組織起這樣的復雜執行計劃,需要一個工作流調度系統來調度執行。

1.2、工作流調度實現方式
簡單的任務調度:直接使用linux的crontab(定時任務)來定義。

復雜的任務調度:開發調度平臺或使用現成的開源調度系統,比如ooize、azkaban等。

1.3、常見工作流調度系統
市面上目前有許多工作流調度器

在hadoop領域,常見的工作流調度器有oozie、azkaban、cascading、hamake等

1.4、各種調度工具對比
下面的表格對上述四種hadoop工作流調度器的關鍵特征進行了比較,盡管這些工作流調度器能夠解決需求場景基本一致,但在設計理念,目標用戶,應用場景等方面還是存在顯著的區別,在技術選型時可供參考

特性

hamake

oozie

azkaban

cascading

工作流描述語言

xml

xml(xpdl、based)

text file with key/value pairs

java API

依賴機制

data-driven

explicit

explicit

explicit

是否要web容器

no

yes

yes

no

進度跟蹤

console/log message

web page

web page

java API

hadoop調度支持

no

yes

yes

yes

運行模式

command line utility

daemon

daemon

api

pig支持

yes

yes

yes

yes

事件通知

no

no

no

yes

需要安裝

no

yes

yes

no

支持的hadoop版本

0.18+

0.20+

currently unknown

0.18+

重試支持

no

workflow node evel

yes

yes

運行任意命令

yes

yes

yes

yes

amaon EMR支持

yes

no

currently unknow

yes

1.5、azkaban與oozie對比
總體來說:oozie相比azkaban是一個重量級的任務調度系統,功能全面,但配置使用也更復雜。如果不在意某些功能的缺失,輕量級調度器azkaban是很不錯的候選對象。詳情如下:

功能
兩者均可以調度mapreduce、pig、java腳本工作流任務

兩者均可以定時執行工作流任務

工作流定義
azkaban使用properties文件定義工作流

oozie使用xml文件定義工作流

工作流傳參
azkaban支持直接傳參,例如${input}

oozie支持參數和EL表達式,例如${fs:dirSize(myinputDir)} srust2(ONGL)

定時執行
azkaban的定時執行時基于時間的

oozie的定時執行任務基于時間和輸入數據

資源管理
azkaban有較嚴格的權限控制,如用戶對工作流進行讀/寫/執行等操作

oozie暫無嚴格的權限控制

工作流執行
azkaban有兩種運行模式,分別是solo server mode(executor server和web server部署在同一臺節點)和multi server mode(executor server和web server可以部署在不同節點)

oozie作為工作流服務器運行,支持多用戶和多工作流

工作流管理
azkaban支持瀏覽器以及ajax方式操作工作流

oozie支持命令行、HTTP REST、Java API、瀏覽器操作工作流。

1.6、azkaban介紹
azkaban是由linkedin開源的一個批量工作流任務調度器。用于在一個工作流內以一個特定的順序運行一組工作和流程。

azkaban定義了一種KV 文件(properties)格式來建立任務之間的依賴關系,并提供一個易于使用的web用戶界面維護和跟蹤你的工作流。

它有如下功能特點:

Web用戶界面
方便上傳工作流
方便設置任務之間任務關系
調度工作流
認證/授權(權限的工作)
能夠殺死并重新啟動工作流
模塊化和可拔插的插件機制
項目工作區
工作流和任務的日志記錄和審計
2、azkaban安裝部署
2.1、準備工作
Azkaban Web 服務器:azkaban-web-server-2.5.0.tar.gz

Azkaban Excutor 執行服務器:azkaban-executor-server-2.5.0.tar.gz Azkaban

初始化腳本文件:azkaban-sql-script-2.5.0.tar.gz

下載地址:http://azkaban.github.io/downloads.html

2.2、安裝說明
將安裝文件上傳到集群,最好上傳到安裝 hive、sqoop 的機器上,方便命令的執行。并最好同一存放在 apps 目錄下,用于存放源安裝文件.新建 azkaban 目錄,用于存放 azkaban 運行程序

2.3、安裝Azkaban Web服務器
解壓安裝 ? tar -zxvf azkaban-web-server-2.5.0.tar.gz -C apps/ azkaban/

2.4、安裝Azkaban Excutor服務器
解壓安裝 ? tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C apps/ azkaban/

2.5、安裝Azkaban腳本導入
解壓安裝 ? tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C apps/ azkaban/

進入 mysql:

mysql> create database azkaban;
Query OK, 1 row affected (0.01 sec)
mysql> use azkaban;
Database changed
mysql> source /home/hadoop/apps/azkaban/azkaban-script-2.5.0/create-all-sql-2.5.0.sql;
2.6、創建SSL配置
最好是在 azkaban 目錄下: 執行命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA

運行此命令后,會提示輸入當前生成 keystore 的密碼及相應信息,輸入密碼請勞記,信息如下:

?keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password:
Re-enter new password:
What is your first and last name?
?[Unknown]:
What is the name of your organizational unit?
?[Unknown]:
What is the name of your organization?
?[Unknown]:
What is the name of your City or Locality?
?[Unknown]:
What is the name of your State or Province?
?[Unknown]:
What is the two-letter country code for this unit?
?[Unknown]: CN
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?
?[no]: y
Enter key password for <jetty>
?(RETURN if same as keystore password):
[root@hadoop03 azkaban]# ll
total 16
drwxr-xr-x. 7 root root 4096 Nov 21 01:53 azkaban-executor-2.5.0
drwxr-xr-x. 2 root root 4096 Nov 21 01:53 azkaban-script-2.5.0
drwxr-xr-x. 8 root root 4096 Nov 21 01:52 azkaban-web-2.5.0
-rw-r--r--. 1 root root 2232 Nov 21 02:06 keystore
完成上述工作后,將在當前目錄生成 keystore 證書文件,將 keystore 拷貝到 azkaban web 服務 器根目錄中.如:cp keystore azkaban/azkaban-web-2.5.0

?

2.7、修改配置文件
注:先配置好服務器節點上的時區

1、先生成時區配置文件 Asia/Shanghai,用交互式命令 tzselect 即可

2、拷貝該時區文件,覆蓋系統本地時區配置

sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

azkaban web 服務器配置 進入 azkaban web 服務器安裝目錄 conf 目錄

cd apps/azkaban/azkaban-web-2.5.0/conf/

修改 azkaban.properties 文件

#Azkaban Personalization Settings
azkaban.name=MyTestAzkaban #服務器 UI 名稱,用于服務器上方顯示的名字
azkaban.label=My Local Azkaban #描述
azkaban.color=#FF3601 #UI 顏色
azkaban.default.servlet.path=/index
web.resource.dir=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/web/ #默認根 web 目錄
default.timezone.id=Asia/Shanghai #默認時區,已改為亞洲/上海 默認為美國
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager #用戶權限管理默認類
user.manager.xml.file=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/conf/azkaban-users.xml
?#用戶配置,具體配置參加下文
#Loader for projects # global 配置文件所在位置
executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects
database.type=mysql #數據庫類型
mysql.port=3306 #端口號
mysql.host=hadoop03 #數據庫連接 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=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore #SSL 文件名
jetty.password=hadoop #SSL 文件密碼
jetty.keypassword=hadoop #Jetty 主密碼 與 keystore 文件相同
jetty.truststore=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore #SSL 文件名
jetty.trustpassword=hadoop # 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 #緩存目錄
用戶配置 進入 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>
azkaban 執行服務器 executor 配置

進入執行服務器安裝目錄 conf,修改 azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai #時區
# Azkaban JobTypes 插件配置,插件所在位置
azkaban.jobtype.plugin.dir=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/plugins/jobtypes
#Loader for projects
executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=projects
#數據庫設置
database.type=mysql #數據庫類型(目前只支持 mysql)
mysql.port=3306 #數據庫端口號
mysql.host=hadoop03 #數據庫 IP 地址
mysql.database=azkaban #數據庫實例名
mysql.user=root #數據庫用戶名
mysql.password=root #數據庫密碼
mysql.numconnections=100 #最大連接數
# 執行服務器配置
executor.maxThreads=50 #最大線程數
executor.port=12321 #端口號(如修改,請與 web 服務中一致)
executor.flow.threads=30 #線程數
2.8、配置環境變量
修改~/.bashrc

export AZKABAN_WEB_HOME=/home/hadoop/apps/azkaban/azkaban-web-2.5.0
export AZKABAN_EXE_HOME=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0
export PATH=$PATH:$AZKABAN_WEB_HOME/bin:$AZKABAN_EXE_HOME/bin
2.9、啟動
啟動web服務器:azkaban-web-start.sh

nohup azkaban-web-start.sh 1>/home/hadoop/azwebstd.out 2>/home/hadoop/azweberr.out &

啟動執行服務器:azkaban-executor-start.sh

nohup azkaban-executor-start.sh 1>/home/hadoop/azexstd.out 2>/home/hadoop/azexerr.out &

?

3、Azkaban實戰演示
3.1、Command類型單一job示例
1.創建job描述文件

vi command.job

#command.job
type=command
command=echo'hello'
2.將job資源文件打包

zip command.job

3.通過azkaban web管理平臺創建project并上傳壓縮包

3.2、Command類型多job工作流flow
1.創建有多依賴關系的多個job描述

第一個job:stepone.job

#stepone.job
type=command
command=echo stepone
第二個job:steptwo.job依賴steptwo.job

#steptwo.job
type=command
dependencies=stepone
command=echo steptwo
2.將所有資源打成一個zip包

3.執行啟動

3.3、操作HDFS任務
1.創建job描述文件

#hdfs.job
type=command
command=/app/hadoop/apps/hadoop-2.6.5/bin/hadoop fs -mkdir -p /hello/azkaban
2.將job資源文件打成zip包

3.創建project并上傳zip包

4.啟動執行

3.4、操作MR任務
1.創建job描述文件

#mapreduce.job
type=command
command=/home/hadoop/apps/hadop-2.6.1/bin/hadoop
jar hadoop-mapreduce-examples-2.6.1jar wordcount/wordcount/input/wordcount/azout
2.將job資源文件達成jar包

3.創建project并上傳zip包

4.啟動執行

3.5、Hive腳本任務
1.創建job描述文件和hive腳本

2.hive腳本如下:

hivetest.sql

use mycar;
drop table aztest;
create table aztest(id int,name string,sex string,age int,deparment string) row format delimited fields
terminated by ',';
load data inpath '/student.txt' into table aztest;
create table azres as select * from aztest;
insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest;
job描述文件:

#hivef.job
type=command
command=/root/apps/apache-hive-1.2.1-bin/bin/hive -f 'testhive.sql'
3.將所有job資源文件達到一個zip包中

4.在azkaban的web管理界面船艦工程并上傳zip包

5.啟動job

????
?????
?????
?????
?????
?????
?????
?????
?????
?????
?????
?????
?????
?????

1.5、azkaban與oozie對比

總體來說:oozie相比azkaban是一個重量級的任務調度系統,功能全面,但配置使用也更復雜。如果不在意某些功能的缺失,輕量級調度器azkaban是很不錯的候選對象。詳情如下:

  • 功能

兩者均可以調度mapreduce、pig、java腳本工作流任務

兩者均可以定時執行工作流任務

  • 工作流定義

azkaban使用properties文件定義工作流

oozie使用xml文件定義工作流

  • 工作流傳參

azkaban支持直接傳參,例如${input}

oozie支持參數和EL表達式,例如${fs:dirSize(myinputDir)} srust2(ONGL)

  • 定時執行

azkaban的定時執行時基于時間的

oozie的定時執行任務基于時間和輸入數據

  • 資源管理

azkaban有較嚴格的權限控制,如用戶對工作流進行讀/寫/執行等操作

oozie暫無嚴格的權限控制

  • 工作流執行

azkaban有兩種運行模式,分別是solo server mode(executor server和web server部署在同一臺節點)和multi server mode(executor server和web server可以部署在不同節點)

oozie作為工作流服務器運行,支持多用戶和多工作流

  • 工作流管理

azkaban支持瀏覽器以及ajax方式操作工作流

oozie支持命令行、HTTP REST、Java API、瀏覽器操作工作流。

1.6、azkaban介紹

azkaban是由linkedin開源的一個批量工作流任務調度器。用于在一個工作流內以一個特定的順序運行一組工作和流程。

azkaban定義了一種KV 文件(properties)格式來建立任務之間的依賴關系,并提供一個易于使用的web用戶界面維護和跟蹤你的工作流。

它有如下功能特點:

  • Web用戶界面
  • 方便上傳工作流
  • 方便設置任務之間任務關系
  • 調度工作流
  • 認證/授權(權限的工作)
  • 能夠殺死并重新啟動工作流
  • 模塊化和可拔插的插件機制
  • 項目工作區
  • 工作流和任務的日志記錄和審計

2、azkaban安裝部署

2.1、準備工作

Azkaban Web 服務器:azkaban-web-server-2.5.0.tar.gz

Azkaban Excutor 執行服務器:azkaban-executor-server-2.5.0.tar.gz Azkaban

初始化腳本文件:azkaban-sql-script-2.5.0.tar.gz

下載地址:http://azkaban.github.io/downloads.html

2.2、安裝說明

將安裝文件上傳到集群,最好上傳到安裝 hive、sqoop 的機器上,方便命令的執行。并最好同一存放在 apps 目錄下,用于存放源安裝文件.新建 azkaban 目錄,用于存放 azkaban 運行程序

?

?

2.3、安裝Azkaban Web服務器

解壓安裝? ?tar -zxvf azkaban-web-server-2.5.0.tar.gz -C apps/ azkaban/

2.4、安裝Azkaban Excutor服務器

解壓安裝? ?tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C apps/ azkaban/

2.5、安裝Azkaban腳本導入

解壓安裝? ?tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C apps/ azkaban/

進入 mysql:

  • mysql> create database azkaban;

  • Query OK, 1 row affected (0.01 sec)

  • mysql> use azkaban;

  • Database changed

  • mysql> source /home/hadoop/apps/azkaban/azkaban-script-2.5.0/create-all-sql-2.5.0.sql;

  • 2.6、創建SSL配置

    最好是在 azkaban 目錄下: 執行命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA

    運行此命令后,會提示輸入當前生成 keystore 的密碼及相應信息,輸入密碼請勞記,信息如下:

  • keytool -keystore keystore -alias jetty -genkey -keyalg RSA

  • Enter keystore password:

  • Re-enter new password:

  • What is your first and last name?

  • [Unknown]:

  • What is the name of your organizational unit?

  • [Unknown]:

  • What is the name of your organization?

  • [Unknown]:

  • What is the name of your City or Locality?

  • [Unknown]:

  • What is the name of your State or Province?

  • [Unknown]:

  • What is the two-letter country code for this unit?

  • [Unknown]: CN

  • Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN correct?

  • [no]: y

  • Enter key password for <jetty>

  • (RETURN if same as keystore password):

  • [root@hadoop03 azkaban]# ll

  • total 16

  • drwxr-xr-x. 7 root root 4096 Nov 21 01:53 azkaban-executor-2.5.0

  • drwxr-xr-x. 2 root root 4096 Nov 21 01:53 azkaban-script-2.5.0

  • drwxr-xr-x. 8 root root 4096 Nov 21 01:52 azkaban-web-2.5.0

  • -rw-r--r--. 1 root root 2232 Nov 21 02:06 keystore

  • 完成上述工作后,將在當前目錄生成 keystore 證書文件,將 keystore 拷貝到 azkaban web 服務 器根目錄中.如:cp keystore azkaban/azkaban-web-2.5.0

    ?

    2.7、修改配置文件

    注:先配置好服務器節點上的時區

    1、先生成時區配置文件 Asia/Shanghai,用交互式命令 tzselect 即可

    2、拷貝該時區文件,覆蓋系統本地時區配置

    sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    azkaban web 服務器配置 進入 azkaban web 服務器安裝目錄 conf 目錄

    cd apps/azkaban/azkaban-web-2.5.0/conf/

    修改 azkaban.properties 文件

  • #Azkaban Personalization Settings

  • azkaban.name=MyTestAzkaban #服務器 UI 名稱,用于服務器上方顯示的名字

  • azkaban.label=My Local Azkaban #描述

  • azkaban.color=#FF3601 #UI 顏色

  • azkaban.default.servlet.path=/index

  • web.resource.dir=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/web/ #默認根 web 目錄

  • default.timezone.id=Asia/Shanghai #默認時區,已改為亞洲/上海 默認為美國

  • #Azkaban UserManager class

  • user.manager.class=azkaban.user.XmlUserManager #用戶權限管理默認類

  • user.manager.xml.file=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/conf/azkaban-users.xml

  • #用戶配置,具體配置參加下文

  • #Loader for projects # global 配置文件所在位置

  • executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties

  • azkaban.project.dir=projects

  • database.type=mysql #數據庫類型

  • mysql.port=3306 #端口號

  • mysql.host=hadoop03 #數據庫連接 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=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore #SSL 文件名

  • jetty.password=hadoop #SSL 文件密碼

  • jetty.keypassword=hadoop #Jetty 主密碼 與 keystore 文件相同

  • jetty.truststore=/home/hadoop/apps/azkaban/azkaban-web-2.5.0/keystore #SSL 文件名

  • jetty.trustpassword=hadoop # 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 #緩存目錄

  • 用戶配置 進入 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>

  • azkaban 執行服務器 executor 配置

    進入執行服務器安裝目錄 conf,修改 azkaban.properties

  • #Azkaban

  • default.timezone.id=Asia/Shanghai #時區

  • # Azkaban JobTypes 插件配置,插件所在位置

  • azkaban.jobtype.plugin.dir=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/plugins/jobtypes

  • #Loader for projects

  • executor.global.properties=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0/conf/global.properties

  • azkaban.project.dir=projects

  • #數據庫設置

  • database.type=mysql #數據庫類型(目前只支持 mysql)

  • mysql.port=3306 #數據庫端口號

  • mysql.host=hadoop03 #數據庫 IP 地址

  • mysql.database=azkaban #數據庫實例名

  • mysql.user=root #數據庫用戶名

  • mysql.password=root #數據庫密碼

  • mysql.numconnections=100 #最大連接數

  • # 執行服務器配置

  • executor.maxThreads=50 #最大線程數

  • executor.port=12321 #端口號(如修改,請與 web 服務中一致)

  • executor.flow.threads=30 #線程數

  • 2.8、配置環境變量

    修改~/.bashrc

  • export AZKABAN_WEB_HOME=/home/hadoop/apps/azkaban/azkaban-web-2.5.0

  • export AZKABAN_EXE_HOME=/home/hadoop/apps/azkaban/azkaban-executor-2.5.0

  • export PATH=$PATH:$AZKABAN_WEB_HOME/bin:$AZKABAN_EXE_HOME/bin

  • 2.9、啟動

    啟動web服務器:azkaban-web-start.sh

    nohup azkaban-web-start.sh 1>/home/hadoop/azwebstd.out 2>/home/hadoop/azweberr.out &

    啟動執行服務器:azkaban-executor-start.sh

    nohup azkaban-executor-start.sh 1>/home/hadoop/azexstd.out 2>/home/hadoop/azexerr.out &

    ?

    3、Azkaban實戰演示

    3.1、Command類型單一job示例

    1.創建job描述文件

    vi command.job

  • #command.job

  • type=command

  • command=echo'hello'

  • 2.將job資源文件打包

    zip command.job

    3.通過azkaban web管理平臺創建project并上傳壓縮包

    3.2、Command類型多job工作流flow

    1.創建有多依賴關系的多個job描述

    第一個job:stepone.job

  • #stepone.job

  • type=command

  • command=echo stepone

  • 第二個job:steptwo.job依賴steptwo.job

  • #steptwo.job

  • type=command

  • dependencies=stepone

  • command=echo steptwo

  • 2.將所有資源打成一個zip包

    3.執行啟動

    3.3、操作HDFS任務

    1.創建job描述文件

  • #hdfs.job

  • type=command

  • command=/app/hadoop/apps/hadoop-2.6.5/bin/hadoop fs -mkdir -p /hello/azkaban

  • 2.將job資源文件打成zip包

    3.創建project并上傳zip包

    4.啟動執行

    3.4、操作MR任務

    1.創建job描述文件

  • #mapreduce.job

  • type=command

  • command=/home/hadoop/apps/hadop-2.6.1/bin/hadoop

  • jar hadoop-mapreduce-examples-2.6.1jar wordcount/wordcount/input/wordcount/azout

  • 2.將job資源文件達成jar包

    3.創建project并上傳zip包

    4.啟動執行

    3.5、Hive腳本任務

    1.創建job描述文件和hive腳本

    2.hive腳本如下:

    hivetest.sql

  • use mycar;

  • drop table aztest;

  • create table aztest(id int,name string,sex string,age int,deparment string) row format delimited fields

  • terminated by ',';

  • load data inpath '/student.txt' into table aztest;

  • create table azres as select * from aztest;

  • insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest;

  • job描述文件:

  • #hivef.job

  • type=command

  • command=/root/apps/apache-hive-1.2.1-bin/bin/hive -f 'testhive.sql'

  • 3.將所有job資源文件達到一個zip包中

    4.在azkaban的web管理界面船艦工程并上傳zip包

    5.啟動job

    ?

    ?

    總結

    以上是生活随笔為你收集整理的Azkaban的介绍、安装与使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。