最近因為工作需要開始接觸hive和mysql的資料載入,其中hive向mysql儲存資料時,其中有些任務採用了nohup的方式後台執行。遇到了下面這個問題,因目前難以排查,現做乙個記錄。
環境:指令碼內容為迴圈執行
nohup &後台執行
發現,任務顯示暫停[1]- 2856 stopped (tty output) nohup ./diaodu.sh
同時查詢mysql中,發現資料並沒有寫入。同時yarn列表為空
如果此時關閉任務,確認job列表為空。
但此時mysql中資料開始大量增加,並大量產生日誌。
查詢yarn後台發現產生任務,同時關閉乙個任務,產生乙個任務,直到迴圈結束。所有任務關閉後資料停止產生。
如果長時間執行,會在第二天產生看到任務成功執行,並產生相應日誌和資料。
上面證明是錯誤的,後台掛掉之後程式會正常執行。
長時間後台程式在停止狀態會掛掉。
直接執行
正常迴圈執行則為逐個產生日誌,mysql資料漸漸增加。
1,後台執行完畢後一次反饋,但無法解釋yarn列表和mysql表長時間為空的現象。
2,sqoop需要大量時間進行資料快取,但為什麼正常執行時無此操作,而且sqoop應該是沒有如此底層的操作。
3,嘗試從nohup核心角度出發推測原因,待續。
nohup 執行mysql命令 nohup命令
在應用unix linux時,我們一般想讓某個程式在後台執行,於是我們將常會用 在程式結尾來讓程式自動執行。比如我們要執行mysql在後台 usr local mysql bin mysqld safe user mysql 可是有很多程式並不想mysqld一樣,這樣我們就需要nohup命令,怎樣使...
nohup 後台執行
1 nohup命令 nohup 命令 log 會將本應在螢幕上顯示的輸出,重定向到同級目錄的 out中,即後台執行並把stdout輸出到檔案nohup.out中,可以使用 來重定向輸出。2 例子 3 應用環境 一般都是在linux下 4 nohup是否有匹配的 nohup command line或...
nohup程式後台執行
linux常用命令,用於不結束通話的執行程式。nohup命令 如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶 關閉終端之後繼續執行相應的程序。nohup就是不掛起的意思 no hang up nohup command arg 如果...