1. 程式人生 > >後臺執行spark-submit命令的方法

後臺執行spark-submit命令的方法

在使用spark-submit執行工程jar包時常常會出現一下兩個問題: 
1.在程式中手打的log(如System.out.println(“***testRdd.count=”+testRdd.count()))常常會因被下一個Job的執行日誌覆蓋掉而無法檢視日誌; 
2.一旦命令視窗被關閉或者電腦因斷電等原因異常關閉,程式便終止執行。 
其中,第一個問題可以通過將執行日誌重定位到檔案中來解決,命令如下:

spark-submit testSpark.jar > ~/testLog.out

執行上條命令則可將手打的log儲存到~/testLog.out中,且日誌中僅儲存手打Log內容。

第二個問題,則可以通過後臺執行Spark-submit命令nohip來解決,命令如下:

nohip spark-submit testSpark.jar &

執行上條命令則實現在後臺執行spark命令,不用擔心電腦異常關機以及命令列不小心關閉等問題,且輸出日誌儲存在當前目錄的nohip.out目錄中。 
如果希望既可以後臺執行命令又可以將日誌儲存到目的檔案中,則可將上述兩個命令結合起來,命令如下:

nohip spark-submit testSpark.jar > ~/testLog.out &

如此,便可實現後臺執行的問題,nohip不僅可以用於後臺執行Spark命令,也可用於後臺執行其他jar包,可具體查詢nohip的使用方法。

 nohip spark-submit testSpark.jar > ~/testLog.out &