Spark on MaxCompute作業提交后,您可以通過MaxCompute提供的Logview或Spark Web-UI工具獲取作業日志,以檢查作業是否已正常提交并執行。
背景信息
Spark on MaxCompute通過Spark-submit方式(DataWorks執行Spark任務時也會產生相應日志)成功提交作業后,MaxCompute會創建一個Instance,并在日志中打印Instance的Logview和Tracking URL,您可根據Logview或Tracking URL追蹤作業的運行情況。
Logview:即以
logview.odps.aliyun.com
開頭的URL,是MaxCompute自研的分布式作業追蹤工具。Tracking URL:即方便用戶查看Spark Web-UI的URL。
以下為輸出Logview和Tracking URL的作業示例:
提交作業。
cd $SPARK_HOME bin/spark-submit --master yarn-cluster --class SparkPi /tmp/spark-2.x-demo/target/AliSpark-2.x-quickstart-1.0-SNAPSHOT-shaded.jar
查看Instance日志。
19/01/05 20:36:47 INFO YarnClientImplUtil: logview url: http://logview.odps.aliyun.com/logview/?h=http://service.cn.maxcompute.aliyun.com/api&p=qn_beijing&i=xxx&token=xxx 成功標準: <看到以下輸出,可能會有其他日志一并輸出> 19/01/05 20:37:34 INFO Client: client token: N/A diagnostics: N/A ApplicationMaster host: 11.220.xxx.xxx ApplicationMaster RPC port: 30002 queue: queue start time: 1546691807945 final status: SUCCEEDED tracking URL: http://jobview.odps.aliyun.com/proxyview/jobview/?h=http://service.cn.maxcompute.aliyun-inc.com/api&p=project_name&i=xxx&t=spark&id=application_xxx&metaname=xxx&token=xxx
使用Logview工具診斷作業
以logview.odps.aliyun.com
開頭的URL,統稱為Logview。Logview是MaxCompute自研的分布式作業追蹤工具。該工具的功能如下:
獲取作業的狀態。
獲取作業各節點的啟停調度信息。
獲取作業各節點的標準輸入輸出日志。Spark結果輸出建議打印到StdOut,Spark的log4j日志則默認輸出到StdErr。
Logview的時效性為3~5天。當本地磁盤已滿時,StdOut和StdErr會被清理掉。
在瀏覽器中打開日志輸出的Logview,查看CUPID類型作業的運行情況。
在Logview頁面,執行如下操作。
單擊Detail,查看作業的詳情。master-0代表Spark Driver所在節點。
單擊master-0并選擇All Tab,查看Spark Driver節點的具體信息。
單擊StdOut,查看節點的結果輸出。
單擊StdErr,查看節點的log4j日志。
使用Spark-Web-UI診斷作業
日志輸出的Tracking URL,表示您的作業已經提交到MaxCompute集群。Tracking URL是Spark Web-UI和HistoryServer的URL。該工具的功能如下:
獲取原生Spark-Web-UI的所有信息。
作業運行時,此頁面顯示作業運行的實時信息。
作業運行結束后,把事件從驅動傳遞到HistoryServer有1~3分鐘的延遲。作業運行結束后,立刻打開Tracking URL時,可能會出現一個頁面,顯示
Application application_1560240626712_2078769635 not found.
錯誤。請稍后重試即可正常訪問。
在瀏覽器中打開日志輸出的Tracking URL,查看Spark作業的運行情況。
在Tracking URL頁面,執行如下操作。
單擊Environment,確認設置的Spark參數是否全部正確。
單擊Executors,查看是否有Dead節點,以及Spark Driver的StdOut和StdErr。
單擊Stdout,查看節點的結果輸出。
單擊Stderr,查看節點的log4j日志。