2016-07-08 82 views
0

當我有取一個文件,提取文本,並運行其進而運行的蜂房腳本外殼腳本的流動。 (我只是從文件中提取一個日期並將其作爲-hivevar傳遞)。我的shell腳本看起來是這樣的:ExecuteStreamCommand掛起執行Shell腳本(即執行蜂房)

#!/bin/bash 
endDate=$1 

CONNECT="jdbc:hive2://master2:10000/default" 

beeline -u "$CONNECT" -n root -hivevar endDate="$endDate" -f /pathToScript/Hive_scipt.hql 

蜂房腳本完成和數據插入我的表,但ExecuteStreamCommand保持運行(1只停留在右上角)無限期我必須重新啓動nifi ..(是有更好的方法來處理這個問題?)。

我注意到幾件事情:

  • 如果我減少查詢的大小(我的蜂巢查詢是一些工會的)的ExecuteStreamCommand不會掛起。
  • 作業掛起時,資源管理器上的AM保持運行狀態持續一段時間~10分鐘。有點像當你用1個容器創建Hive CLI Tez Session時。當我減小查詢大小並且作業不掛起時,AM就馬上完成狀態。 - 通過命令行手動運行完整查詢或腳本可以正常工作。
  • 行爲不一致。有時它不會掛,有時它會...(大部分時間它會..)

任何想法?在app.log或應用程序日誌

回答

0

當您運行在命令行,它產生大量輸出的(無論是/兩標準輸出和/或標準差),如TEZ找不到任何東西/ MR進展?

嘗試直線與--silent = true選項(除非你真的需要出於某種原因輸出),或(儘管不建議使用)「蜂巢」客戶端-S。如果輸出是問題,這應該減輕它。