1. 程式人生 > >任務排程器之azkaban(二)

任務排程器之azkaban(二)

Azkaban安裝部署
在2.5版本之後,Azkaban提供了兩種模式來安裝:
一種是standalone的“solo-server”模式;另一種是兩個server的模式,分別為AzkabanWebServer和AzkabanExecutorServer
兩個server的模式:
準備工作
Azkaban Web伺服器
azkaban-web-server-3.1.0.tar.gz
Azkaban執行伺服器
azkaban-executor-server-3.1.0.tar.gz

MySQL
目前azkaban只支援 mysql,需安裝mysql伺服器,本文件中預設已安裝好mysql伺服器,並建立了 root使用者,密碼 root.

安裝
將安裝檔案上傳到叢集,最好上傳到安裝 hive、sqoop的機器上,方便命令的執行
在當前使用者目錄下新建 azkabantools目錄,用於存放源安裝檔案.新建azkaban目錄,用於存放azkaban執行程式
azkaban web伺服器安裝
解壓azkaban-web-server-3.1.0.tar.gz
命令: tar –zxvf azkaban-web-server-3.1.0.tar.gz
將解壓後的azkaban-web-server-3.1.0 移動到 azkaban目錄中,並重新命名 webserver
命令: mv azkaban-web-server-3.1.0 ../azkaban
cd ../azkaban
mv azkaban-web-server-3.1.0 server

azkaban 執行服器安裝
解壓azkaban-executor-server-3.1.0.tar.gz
命令:tar –zxvf azkaban-executor-server-3.1.0.tar.gz
將解壓後的azkaban-executor-server-3.1.0 移動到 azkaban目錄中,並重新命名 executor
命令:mv azkaban-executor-server-3.1.0 ../azkaban
cd ../azkaban
mv azkaban-executor-server-3.1.0 executor

azkaban指令碼匯入
解壓: azkaban-sql-script-3.1.0.tar.gz
命令:tar –zxvf azkaban-sql-script-3.1.0.tar.gz
將解壓後的mysql 指令碼,匯入到mysql中:
進入mysql
mysql> create database azkaban;
mysql> use azkaban;
Database changed
mysql> source /home/hadoop/azkaban-3.1.0/create-all-sql-3.1.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

輸入的主密碼
(如果和 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目錄

 修改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 #執行伺服器埠
郵件設定
[email protected] #傳送郵箱
mail.host=smtp.163.com #傳送郵箱smtp地址
mail.user=xxxxxxxx #傳送郵件時顯示的名稱
mail.password=**** #郵箱密碼
[email protected] #任務失敗時傳送郵件的地址
[email protected] #任務成功時傳送郵件的地址
lockdown.create.projects=false #
cache.directory=cache #快取目錄
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 #執行緒數
使用者配置
進入azkaban web伺服器conf目錄,修改azkaban-users.xml
vi azkaban-users.xml 增加 管理員使用者







啟動
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.
“solo-server”模式
一、從Azkaban的官網上下載azkaban-solo-server(下載地址:http://azkaban.github.io/downloads.html)。解壓後,應包含以下資料夾:
bin 存放著啟動Azkaban的jetty伺服器的指令碼檔案
conf 存放Azkaban solo server的配置檔案
lib Azkaban所需的jar包
extlib 存放至extlib下的jar包將會被新增至Azkaban的classpath
plugins Azkaban的plugins安裝資料夾
Web Azkaban web伺服器的檔案存放地址,檔案如css、JavaScript、image等
重點介紹下conf資料夾,在該資料夾內,有如下幾個檔案:
azkaban.private.properties用於設定Azkaban執行時的一些引數
azkaban.properties同上
global.properties該檔案用於設定全域性靜態屬性,所有工作流均可訪問到這些屬性
azkaban-user.xmlazkaban使用者資訊檔案,用於配置azkaban的使用使用者及使用者組
二、配置SSL的KeyStore(可選操作,如果需要使用azkaban的ajax api,則必須執行該步操作)
1、在azkaban根目錄下執行命令(該命令將在根目錄下生成SSL所需的keystore檔案):keytool -keystore keystore -alias jetty -genkey -keyalg RSA
根據個人配置填寫以下引數:
keystore password:azkaban
first and last name:
name of organizational unit:
name of organization:
name of City:
name of province:
two-letter country code for this unit:
key password for :azkaban
2、生成keystore檔案後,根據實際情況修改conf/azkaban.properties檔案裡的內容:
jetty.keystore=keystore
jetty.password=azkaban
jetty.keypassword=azkaban
jetty.truststore=keystore
jetty.trustpassword=azkaban
三、啟動web服務
在azkaban的根目錄下執行bin/azkaban-solo-start.sh 指令碼。多說兩句:必須使用bin/azkaban-solo-start.sh或絕對路徑方式執行指令碼,否則會因為相對路徑的問題,而導致azkaban無法找到相關配置檔案,報錯:“cannot find ‘database.properties’ file in sql/database.properties”。

四、如上成功配置好後,執行命令(前提是安裝了curl):curl -k -X POST –data “action=login&username=azkaban&password=azkaban” https://localhost:8043。若無誤,則應返回json格式的session.id和status資訊

相關推薦

任務排程azkaban

Azkaban安裝部署 在2.5版本之後,Azkaban提供了兩種模式來安裝: 一種是standalone的“solo-server”模式;另一種是兩個server的模式,分別為AzkabanWebServer和AzkabanExecutorServer

SpringBootHandlerInterceptor攔截的使用 ——自定義註解

在上一篇部落格已經介紹了HandlerInterceptor的基本用法這裡就不重複了詳見:SpringBoot之HandlerInterceptor攔截器的使用 ——(一) 功能簡介 攔截所有添加了我們自定義的註解的方法,並將userId和userMobile放入HttpServ

FPGA-12-任務五、十字路口交通控制燈系統設計

完整功能: 實現主幹道和支幹道的紅綠燈,並實現時間顯示功能;(前兩位顯示東西的     後兩位顯示南北的) 實現綠燈,黃燈,紅燈的持續時間固定的交通控制功能; (狀態機切換三段的顯示 ) 當東西或南北兩路中任一道上出現特殊情況,交通控制系統應可由交警手動控制立即進入特

Choerodon 的微服務:微服務閘道

本文是 Choerodon 豬齒魚微服務系列文章的第二篇。在《Choerodon的微服務之路(一):如何邁出關鍵的第一步》中,我們瞭解到在微服務架構中,一個完整的單體應用被拆分成多個有著獨立部署能力的業務服務,每個服務可以使用不同的程式語言,不同的儲存介質,來保持最低限度的集中式管理。本篇將

android 動畫 插值

插值器 首先要了解為什麼需要插值器,因為在補間動畫中,我們一般只定義關鍵幀(首幀或尾幀),然後由系統自動生成中間幀,生成中間幀的這個過程可以成為“插值”。插值器定義了動畫變化的速率,提供不同的函式定義變化值相對於時間的變化規則,可以定義各種各樣的非線性變化函式,比如加速、減速等。下面是幾種常

Django定時Celery+RedisCelery配置和任務模組化

序言 在上一篇部落格中記錄了Celery的安裝及初步簡單使用,如果需要請前往檢視,本文在上一篇的環境基礎上繼續記錄Celery的配置使用及配置分離。前一篇部落格的例子是將Celery的例項配置和任務都寫在了tasks.py的python檔案中,這在多模組任

從零開始學 Web BOM定時

一、定時器 BOM 中有兩中方式設定定時器。 1、方式一 特點:定時器可以重複使用。 // 引數有兩個: // 第一個引數:定時器定時結束處理函式 // 第二個引數:定時事件,單位毫秒。 // 返回值:定時器id值 var timeId = window.setInterval(function()

Java定時任務排程工具詳解5— Quartz Trigger

五、淺談Trigger Trigger是什麼 Quartz中的觸發器用來告訴排程程式作業什麼時候觸發 即Trigger物件是用來觸發執行Job的 Quartz框架中的Trigger示意圖 觸發器通用屬性 JobKey:表示job例項的標識,觸發

Api-gateway服務閘道gravitee.io的探索

         其實mongodb和elasticsearch的安裝都很容易         首先我是centos6+的系統,yum可用,然後我們找一臺虛擬機器,用root使用者登陸,然後幹什麼呢,先調整系統,把系統引數先改改,多麼希望用centos7,好多東西就不用管了。

Qt音樂播放制作Easy Player

滾動 支持 是個 blog 音樂 音樂播放器 div iss size 兩天沒有公布新的動態。主要原因還是個人的生活和工作時間限制,如今趕晚貼出第二版。先放個圖: 自上次公布第一個版本號以來,又進行了多次改動,主要變化在於: (1)依照上次的計劃又一次設計了界面

深入學習mysql表的操作

uniq order fault change incr 相關 約束 設置 type 1、表:是數據庫中的存儲數據的基本單位,一個表包含若幹個字段和值 2、創建表:   CREATE TABLE 表名稱 (   字段名1  數據庫類型1  [約束條件1],   字段名2  

自動化運維saltstackstates介紹及使用

配置文件 如何 states master 根目錄 一、什麽是Salt States?Salt States是Salt模塊的擴展,主系統使用的狀態系統叫SLS系統,SLS代表Saltstack State,Salt是一些狀態文件,其中包含有關如何配置Salt子節點的信息,這些狀態被存放在一

Spring MVC 的 研發

eight 對象 files tin servlet映射 資源 研發 領域 延遲 二、web.xml的簡單配置介紹1 1、啟動Web項目時,容器回去讀web.xml配置文件裏的兩個節點<context-param>和<listener

Java面向對象編程繼承

抽象方法 oid 修飾 屬於 ... 方法的參數 要求 ring 覆蓋 在上一篇博客中,我們已經了解繼承的基本概念和語法,那麽今天我們就來聊一聊有關於繼承的其他東西。 讓我們來了解一下什麽是方法重載(overload)和方法覆蓋(override) 方法重載(overloa

SIPp常用腳本UAS

invite pcm option 響應 etime aud 服務器 esp contact 看名字就能猜出來,這是作為SIP消息服務端的存在,啟動uas,等著接受SIP消息並且給出響應。 一、uas.xml <?xml version="2.0" encoding

Java學習流程控制語句

循環 cas 學習之路 將不 乘法表 length 跳出循環 spa int if、if…else…語句 if (true) { System.out.println("為真時執行");

次元碼農的成長json到底有什麽用途

頁面 asc 語法 處理 交互 分隔 規則 stl 成長之路 寫的有問題請指出 一、什麽是json 1json指的是javaScript的表示方法 2JSON是輕量級的文本數據交換格式 3 Json是獨立語言 4 json具有自我描述性 更易理解 二、語法規則 1對

Hibernate框架一對多關系

true pre conn 關系 編寫 none isp exce dia 在下列案例中:   客戶是一;聯系人是多;客戶可以擁有多個聯系人;一個聯系人只有一個客戶   1、編寫實體類 package com.pojo; import java.util

Hibernate框架多對多多關系

-m let ble ssi gin rop assert on() odi 1、配置實體類 package cn.pojo; import java.util.HashSet; import java.util.Set; public class

基礎篇集合總結

線程不安全 emp abstract 和集 write next 不可變 叠代器 關系 1. Map集合和collection結合的區別 1》Collection一次存一個元素;Map一次存一對元素; 2》Collection是單列集合;Map是雙列集合; 3》Map中的存