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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java Web应用程序:Oozie及其使用方式

發布時間:2024/4/17 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java Web应用程序:Oozie及其使用方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


http://tech.it168.com/a2011/0818/1234/000001234580.shtml

什么是Oozie?

  Oozie是一種Java Web應用程序,它運行在Java servlet容器——即Tomcat——中,并使用數據庫來存儲以下內容:

  ●工作流定義

  ●當前運行的工作流實例,包括實例的狀態和變量

  Oozie工作流是放置在控制依賴DAG(有向無環圖 Direct Acyclic Graph)中的一組動作(例如,Hadoop的Map/Reduce作業、Pig作業等),其中指定了動作執行的順序。我們會使用hPDL(一種XML流程定義語言)來描述這個圖。

  hPDL是一種很簡潔的語言,只會使用少數流程控制和動作節點。控制節點會定義執行的流程,并包含工作流的起點和終點(start、end和fail節點)以及控制工作流執行路徑的機制(decision、fork和join節點)。動作節點是一些機制,通過它們工作流會觸發執行計算或者處理任務。Oozie為以下類型的動作提供支持: Hadoop map-reduce、Hadoop文件系統、Pig、Java和Oozie的子工作流(SSH動作已經從Oozie schema 0.2之后的版本中移除了)。

  所有由動作節點觸發的計算和處理任務都不在Oozie之中——它們是由Hadoop的Map/Reduce框架執行的。這種方法讓Oozie可以支持現存的Hadoop用于負載平衡、災難恢復的機制。這些任務主要是異步執行的(只有文件系統動作例外,它是同步處理的)。這意味著對于大多數工作流動作觸發的計算或處理任務的類型來說,在工作流操作轉換到工作流的下一個節點之前都需要等待,直到計算或處理任務結束了之后才能夠繼續。Oozie可以通過兩種不同的方式來檢測計算或處理任務是否完成,也就是回調和輪詢。當Oozie啟動了計算或處理任務的時候,它會為任務提供唯一的回調URL,然后任務會在完成的時候發送通知給特定的URL。在任務無法觸發回調URL的情況下(可能是因為任何原因,比方說網絡閃斷),或者當任務的類型無法在完成時觸發回調URL的時候,Oozie有一種機制,可以對計算或處理任務進行輪詢,從而保證能夠完成任務。

  Oozie工作流可以參數化(在工作流定義中使用像${inputDir}之類的變量)。在提交工作流操作的時候,我們必須提供參數值。如果經過合適地參數化(比方說,使用不同的輸出目錄),那么多個同樣的工作流操作可以并發。

  一些工作流是根據需要觸發的,但是大多數情況下,我們有必要基于一定的時間段和(或)數據可用性和(或)外部事件來運行它們。Oozie協調系統(Coordinator system)讓用戶可以基于這些參數來定義工作流執行計劃。Oozie協調程序讓我們可以以謂詞的方式對工作流執行觸發器進行建模,那可以指向數據、事件和(或)外部事件。工作流作業會在謂詞得到滿足的時候啟動。

  經常我們還需要連接定時運行、但時間間隔不同的工作流操作。多個隨后運行的工作流的輸出會成為下一個工作流的輸入。把這些工作流連接在一起,會讓系統把它作為數據應用的管道來引用。Oozie協調程序支持創建這樣的數據應用管道。

  安裝Oozie

  我們可以把Oozie安裝在現存的Hadoop系統中,安裝方式包括tarball、RPM和Debian包等。我們的Hadoop部署是Cloudera的CDH3,其中已經包含了Oozie。因此,我們只是使用yum把它拉下來,然后在edge節點[1]上執行安裝操作。在Oozie的發布包中有兩個組件——Oozie-client和Oozie-server。根據簇集的規模,你可以讓這兩個組件安裝在同一臺edge服務器上,也可能安裝在不同的計算機上。Oozie服務器中包含了用于觸發和控制作業的組件,而客戶端中包含了讓用戶可以觸發Oozie操作并與Oozie服務器通信的組件。

  想要了解更多關于安裝過程的信息,請使用Cloudera發布包,并訪問Cloudera站點[2]。

  注: 除了包括安裝過程的內容之外,它還建議把下面的shell變量OOZIE_URL根據需要添加到.login、.kshrc或者shell的啟動文件中:

  (export OOZIE_URL=http://localhost:11000/oozie)



簡單示例

  為了向你展示Oozie的使用方法,讓我們創建一個簡單的示例。我們擁有兩個Map/Reduce作業[3]——一個會獲取最初的數據,另一個會合并指定類型的數據。實際的獲取操作需要執行最初的獲取操作,然后把兩種類型的數據——Lidar和Multicam——合并。為了讓這個過程自動化,我們需要創建一個簡單的Oozie工作流(代碼1)

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Java Web应用程序:Oozie及其使用方式的全部內容,希望文章能夠幫你解決所遇到的問題。

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