全部產品
Search
文件中心

MaxCompute:作業診斷

更新時間:Jul 12, 2024

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的作業樣本:

  1. 提交作業。

    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
  2. 查看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會被清理掉。

  1. 在瀏覽器中開啟日誌輸出的Logview,查看CUPID類型作業的運行情況。

    Logview

  2. 在Logview頁面,執行如下操作。

    1. 單擊Detail,查看作業的詳情。master-0代表Spark Driver所在節點。

    2. 單擊master-0並選擇All Tab,查看Spark Driver節點的具體資訊。

    3. 單擊StdOut,查看節點的結果輸出。

    4. 單擊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.錯誤。請稍後重試即可正常訪問。

  1. 在瀏覽器中開啟日誌輸出的Tracking URL,查看Spark作業的運行情況。

    Tracking URL

  2. 在Tracking URL頁面,執行如下操作。

    1. 單擊Environment,確認設定的Spark參數是否全部正確。

    2. 單擊Executors,查看是否有Dead節點,以及Spark Driver的StdOut和StdErr。

    3. 單擊Stdout,查看節點的結果輸出。

    4. 單擊Stderr,查看節點的log4j日誌。