天天看點

hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

hue+oozie并發叢集阻塞的調優經曆

問題描述

使用hue+oozie進行資料倉庫開發,部署了大量workflow和并發任務,定時晚上集中時間執行時出現任務卡死狀态,全部是oozie launcher的job任務

方案一 調大叢集資源,開啟資源搶占

一開始以為叢集資源不夠,使用了公平排程原因,多個并發任務導緻資源競争任務卡死,然後修改參數yarn.scheduler.fair.preemption開啟資源搶占,減小ApplicationMaster占用資源數,配置修改如下圖所示

hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

測試結果還是卡死,隻是卡死的任務數變多了,問題還是沒有得到解決,一天過去了,繼續探索

方案二 控制使用者任務并發數

chd配置方法,如下圖所示,進行使用者資源做大任務限制

hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

這裡我設定了六個,然後并發測試,神奇的發現這裡當并發到六個資源以後,一樣卡死了,資源還有一半的空閑,不是資源問題,又郁悶了一天過去了

方案三 控制使用者任務并發數

根據上面的資源配置發現不是資源問題,那就是hue+oozie的問題了,研究oozie的機制才明白問題的真正原因。

使用oozie排程時啟動資料任務前會啟動對應的oozie launcher來監控排程任務 任務多導緻oozie launcher的并發高導緻oozie launcher會啟動多個,占用大量資源 oozie launcher的聲明周期是資料任務開始之前到結束,資源不會釋放 當資源别oozie launcher搶占到不能配置設定給資料任務時oozie會等待有空閑資源來配置設定給資料任務,導緻整個叢集陷入阻塞 oozie launcher單個占用資源較大會使用2個container,2core,4G記憶體(預設)

每個任務都會有一個oozie launcher來守護就像是開路保镖一樣,當真實的任務結束以後oozie launcher才會結束,一開始所有資源占用完是因為全部是oozie launcher任務,然後oozie launcher任務都在等待自己的“主人”運作通過,沒想到來的任務太多,所有的資源都被oozie launcher占用完了,都在等在自己的“主人”通過,所有的路都被一群眼瞎的保安堵死了,這些保安也不知道,就出現一直等待的狀态,後來控制資源使用隻限制六個app,當這個六個app都被oozie launcher占用時,就出現了一樣的效果。

解決方案

給oozie launcher開辟單獨的資源池,并且限制oozie并發的數量,讓他們和的“主人”不走同一個通道,就不會出現路被同時堵死的情況,控制并發防止資源被占用完。

配置方式如下:

1.建立新的資源池,這裡我們限制這個資源池最多跑四個job,防止太多的oozie launcher占用計算資源

hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

2.在hue的任務中配置使用這個資源池

oozie.launcher.mapred.job.queue.name    root.oozie
           
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

然後執行workflow就會發現oozie launcher在root.oozie隊列中了,不會與資料任務搶占資源。

在cdh中單獨配置了oozie的mr

oozie.launcher.mapreduce.map.memory.mb 512
oozie.launcher.yarn.app.mapreduce.am.resource.mb  512
           
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

然後改了yarn叢集的最小容器記憶體

hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

也可以直接配置在每個workflow節點裡

hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆
hue+oozie并發叢集阻塞的調優經曆hue+oozie并發叢集阻塞的調優經曆

繼續閱讀