1. 程式人生 > >azkaban的簡單入門

azkaban的簡單入門

一、下載

從github上下載,azkaban , 需要注意的是,azkaban官方只是提供了原始碼,需要我們自己編譯。

二、編譯

azkaban 的編譯也是很簡單,但是前提是你需要足夠的耐心,我是真的差點弄瘋了,編譯 花了我幾個小時,一直以為我哪裡到錯誤了,最後又編譯成功了,實在搞不懂。

需要注意的是:3.x之後的web專案中沒有conf、plugins資料夾,我們需要從solo中複製過來。

編譯的順序安裝官方提供的順序即可。

# Build Azkaban
./gradlew build

# Clean the build
./gradlew clean

# Build and install distributions
./gradlew installDist # Run tests ./gradlew test # Build without running tests ./gradlew build -x test

這裡需要注意的是,編譯azkaban需要git、gradle環境。安裝git簡單,對版本沒有什麼要求,一般情況下都是1.7.1.

yum -y install git

[root@bigdata02 ~]# git --version
git version 1.7.1
[root@bigdata02 ~]# 

安裝gradle的話,我們需要看下gradle/wrapper資料夾下,編輯gradle-wrapper.properties檔案,我們修改如下檔案:

#Sat Sep 09 11:12:17 PDT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
distributionUrl=gradle-4.1-all.zip

在最後一行新增我們下載的gradle,我們將其下載的gradle放到wrapper目錄下。當然這都是在我們編譯之前的準備工作。
編譯完成之後,我們可以在每個對應的工程的class/install目錄下找到對應的編譯好的專案。初學者我們只需要如下四個專案即可。

drwxr-xr-x. 2 root root 4096 1119 14:53 azkaban-db
drwxr-xr-x. 9 root root 4096 1120 16:25 azkaban-exec-server
drwxr-xr-x. 8 root root 4096 1119 15:22 azkaban-solo-server
drwxr-xr-x. 8 root root 4096 1120 16:25 azkaban-web-server

我們需要將solo包的conf、plugins資料夾放到exec、web對應的資料夾。

啟動之前,我們需要生成一個keystore檔案.

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

在啟動之前,我們還需要注意下:
在conf資料夾我們必須有如下三個檔案,這三個檔案一定要存在。

# azkaban的核心配置檔案
-rw-r--r--. 1 root root 660 11月 19 17:32 azkaban.properties
# 這個檔案即使是空的也是需要的
-rw-r--r--. 1 root root   1 11月 19 17:34 global.properties
# 就是log4j的配置檔案
-rw-r--r--. 1 root root 251 11月 19 17:33 log4j.properties

azkaban 核心配置檔案

# Azkaban
 default.timezone.id=Asia/Shanghai

 # Azkaban JobTypes Plugins
 azkaban.jobtype.plugin.dir=plugins/jobtypes

 # Loader for projects
 executor.global.properties=conf/global.properties
 azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=25

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

# JMX stats
jetty.connector.stats=true
executor.connector.stats=true

# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000

還有一個專案沒有用,那就是db,在上面的配置檔案中也可以看出需要和資料庫相連,這裡就是我們需要建立一個數據庫,這個很簡單了,接著匯入db專案中的一個有all的sql,建立表即可。

這裡寫圖片描述

source create-all-sql-0.1.0-SNAPSHOT.sql

三、啟動

# execute專案下
bin/azkaban-executor-start.sh
# web專案下
bin/azkaban-web-start.sh

這裡寫圖片描述

四、簡單示例

1、建立一個echo.job檔案

type=command
command=echo "data 2 hive"

2、將echo.job打成zip包

3、建立一個專案
這裡寫圖片描述

4、上傳專案
這裡寫圖片描述

5、執行

這裡寫圖片描述

有可能執行會出現如下問題:

 Job failed, Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job

解決方法如下:
在executor資料夾下的plugins/jobtypes/commonprivate.properties檔案新增如下程式碼:

memCheck.enabled=false 

最後完美解決。

五、總結

有時候看著挺簡單的東西,安裝起來還真是麻煩百出,這就是這次總結吧。

相關推薦

azkaban簡單入門

一、下載 從github上下載,azkaban , 需要注意的是,azkaban官方只是提供了原始碼,需要我們自己編譯。 二、編譯 azkaban 的編譯也是很簡單,但是前提是你需要足夠的耐心,我是真的差點弄瘋了,編譯 花了我幾個小時,一直以為我哪裡到

webpack打包簡單入門

集合 簡單 入口 ges 顯示 技術分享 js文件 dir 配置結果 使用webPack前請先安裝nodejs webpack命令集合 安裝命令:npm install webpack -g 全局安裝npm install webpack --save-dev 當前項

require.js簡單入門

去掉 function syn ltr utf-8 js文件 turn set blog 推薦文章:http://www.ruanyifeng.com/blog/2012/11/require_js.html 1、以下例子主要實現功能,   1)引用jq庫獲取dom中元

ActiveMQ簡單入門

produce bsp knowledge 接收 prop 關閉 except conn dmi 一、創建一個簡單的Hello World案例 首先需要導入activemq-all-5.14.5.jar包,寫生產端: package com.ietree.mq.hello

Asp.Net MVC3 簡單入門詳解過濾器Filter

添加 重復 權限 組件 再次 ace text ext 開發 前言 在開發大項目的時候總會有相關的AOP面向切面編程的組件,而MVC(特指:Asp.Net MVC,以下皆同)項目中不想讓MVC開發人員去關心和寫類似身份驗證,日誌,異常,行為截取等這部分重復的代碼,那我們可以

Spring框架第一篇之簡單入門

其中 lan .org exp mage odi 只需要 需要 資源 一、下載Spring的jar包 通過http://repo.spring.io/release/org/springframework/spring/地址下載最新的Spring的zip包,當然,如果你是在

rxjs簡單入門

sheduler 使用 組裝 find res html poll uil article rxjs全名Reactive Extensions for JavaScript,Javascript的響應式擴展, 響應式的思路是把隨時間不斷變化的數據、狀態、事件等等轉成可被

JSTL簡單入門學習實例

out 簡單 items fun lib clas charset class dsm Maven依賴: <dependency> <groupId>javax.servlet<

gulp安裝+一個超簡單入門小demo

hang span pac 昨天 content expr ng- arch 什麽 gulp安裝參考、gulp安裝參考2、 一、NPM npm是node.js的包管理工具。主要功能是管理、更新、搜索、公布node的包。 Gulp是通過npm安裝的。 所以首先

MyBatis 介紹、簡單入門程序

jsb 處理 pla 編寫 red blog board nts 是否 JDBC 編程中的問題 1. 將 SQL 語句硬編碼到 Java 代碼。不利於系統維護。 設想怎樣解決:將SQL單獨抽取出來,在配置文件(xml方式、proper

struts2簡單入門-配置文件說明

default fig 常用 res ftw apach 入門 eth 核心 struts.xml 作用:配置struts中的action對象. 基本文件格式: <?xml version="1.0" encoding="UTF-8"?> <!DOC

WindowsService開發簡單入門

總結 簡介 pan 入門 mil wss -s 註意 宋體 一、簡介 1) 二、demo建立   1)   2)   3)   4)   5)   6)   7)   8)   9)   10) 三、總結及註意事項WindowsService開發簡單入門

Express4+Mongodb超簡單入門實例

conn ctype done ner lan shee 調試 pre nod 開始前,請確保mongodb已經能正常工作,安裝教程:windows下MongoDB的安裝及配置 , 請自行安裝配置。下面進入正文: 第一步:命令行創建數據庫、表,並插入一條數據 命令如下:

Scrapy簡單入門及實例講解

頁面 scheduler r12 images ide api 系列 允許 初始 原文地址:https://www.cnblogs.com/kongzhagen/p/6549053.html github地址:https://github.com/zhu-xb/scrapy

vue.js簡單入門

aries json ons htm 變更 .cn get com 一個 Vue.js是什麽? Vue.js 是一套構建用戶界面的漸進式框架。 與其他重量級框架不同的是,Vue 采用自底向上增量開發的設計。Vue 的核心庫只關註視圖層,它不僅易於上手,還便於與第三方庫

markdown簡單入門

空格 嵌套列表 小於號 tor 空行 tar 子列 href 內容 1.斜體和加粗: 使用下劃線"_"或"*"括起來 _內容_ or *內容* 1個_ 或 * 都是斜體,2個則是加粗; 3個既斜體 又加粗,4個以上則沒什麽變化 (難

Go語言並發編程簡單入門

go語言 並發編程 入門並發是邏輯上具備同時處理多個任務的能力,並行是在物理上的同一時刻執行多個並發任務。在單核處理器上,它們可以使用間隔的方式切換執行,並行則是依賴多核處理器的物理設備的特性。並行計算是並發設計的最理想模式。多線程或者多進程是並行的基本條件,但是單線程也可以用協程做到並發。盡管協程在單線

19 Go的全能ORM簡單入門

name 內存 uri 結合 無法 查看 文檔 word 源碼 gorm 昨天我的ldap賬戶改了以後,openfalcon(v2.1)-dashboard竟然無法登陸了!顯然,沒有把我的密碼同步到本地數據庫裏面,怎麽辦?只能改openfalcon用戶認證的源碼了,把lda

xpath簡單入門

pat concat school bsp class 技術 code pen .com 語法: 選取節點: 實例: (貼圖轉載自w3school) 補充: /a/@href #獲取a標簽的href屬性 當<div class="d

爬蟲簡單入門-接口尋找調用

sta for python import F12 調用 stat _for 新的 重新開始學習python,初心不變,抓取馬刺隊比賽數據。網易NBA的比賽數據寫死在頁面當中,且數據單一,於是改為解析NBA中國的網頁。首先找到馬刺隊數據頁面(http://c