全部產品
Search
文件中心

E-MapReduce:使用Log Service收集Spark作業日誌

更新時間:Nov 15, 2024

本文為您介紹如何通過阿里雲Log Service收集Spark作業的日誌。

前提條件

操作步驟

  1. 啟用Log Service組件Logtail,詳情請參見步驟一:安裝Logtail組件

    說明

    如果已啟用Log Service組件Logtail,則直接執行步驟2。

  2. 進入Log Service對應Project的控制台。

    1. 登入Container Service管理主控台

    2. 叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

    3. 基本資料頁面的叢集資源地區,單擊Log Service Project所在行的連結。

      進入Log Service對應Project的控制台。

  3. 日誌庫頁簽中,建立兩個Logstore。

    本文樣本建立的兩個Logstore分別命名為spark-driver-log和spark-executor-log。建立Logstore詳情,請參見1. 建立Project和Logstore

  4. 在spark-driver-log的Logstore中,執行以下操作。

    1. 新增Logtail配置,接入資料選擇Kubernetes標準輸出,在配置流程中選擇已有的Kubernetes機器組。

    2. 選擇資料接入 > logtail配置下已有的Kubernetes機器組。

    3. 外掛程式配置文字框內,輸入以下內容。

      {
          "inputs": [
              {
                  "detail": {
                      "IncludeEnv": {
                          "SPARKLOGENV": "spark-driver"
                      },
                      "Stderr": true,
                      "Stdout": true,
                      "BeginLineCheckLength": 10,
                      "BeginLineRegex": "\\d+/\\d+/\\d+.*"
                  },
                  "type": "service_docker_stdout"
              }
          ]
      }
  5. 在spark-executor-log的Logstore中,參照步驟4外掛程式配置文字框中,輸入以下內容。

    {
        "inputs": [
            {
                "detail": {
                    "IncludeEnv": {
                        "SPARKLOGENV": "spark-executor"
                    },
                    "Stderr": true,
                    "Stdout": true,
                    "BeginLineCheckLength": 10,
                    "BeginLineRegex": "\\d+/\\d+/\\d+.*"
                },
                "type": "service_docker_stdout"
            }
        ]
    }
  6. 開啟日誌庫Logstore索引,詳情請參見建立索引

    完成以上步驟,即可在SLS上查詢到作業的日誌了。