azkaban執行任務長時間無法結束


問題顯示

 

由於一次執行較多的任務,導致azkaban的web程序崩潰,此時,關閉azkaban服務,重新啟動azkaban

但是由於azkaban的exec程序無法關閉,這里采用kill的方式關掉exec進程
 
# azkaban 開啟:
cd /opt/azkaban/exec
sh ./bin/start-exec.sh
curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo
cd /opt/azkaban/web
sh ./bin/start-web.sh

# azkaban 關閉:
cd /opt/azkaban/exec
sh ./bin/shutdown-exec.sh
cd /opt/azkaban/web
sh ./bin/shutdown-web.sh

 

原因一:

此時發現還是不能打開web頁面,查看日志發現連接不到數據庫,查看mysql數據庫的mysql.user表
可能會沒有azkaban用戶,(不知什么情況,系統把azkaban用戶刪除了)需要重新添加azkaban用戶,並賦予權限
mysql -uroot -p123456

mysql> CREATE USER 'azkaban'@'localhost' IDENTIFIED BY 'azkaban';
mysql> grant all privileges on azkaban.* to azkaban@'%' identified by 'azkaban';
mysql> flush privileges;

 

 

 原因二:

重新啟動后發現執行程序還是沒有結束,還是繼續執行,但是沒有執行結果反饋( 重啟服務沒有解決問題
這種情況下,可能是azkaban的數據庫配置問題,觀察azkaban.executors表
azkaban.executors介紹:azkaban架構由AzkabanWebServer、AzkabanExecutorServer、MySQL組成,web和exec需要通信,通信端口在每次啟動的時候隨機生成存放在這張表中,故只能存在一條狀態為1的數據
由於非正常退出程序,導致表中數據還在,存在多個活躍的端口號,導致web頁面也exec執行器通信異常,關閉azkaban所有服務,清空這張表,重新啟動azkaban即可

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM