日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過Dolphin管理作業

Dolphin是可視化DAG工作流任務調度系統。本文介紹如何通過Dolphin調度Lindorm計算引擎的批作業和SQL作業。

前提條件

已開通Lindorm計算引擎。如何開通,請參見開通與變配

使用說明

Dolphin提供的調度能力和使用方法兼容開源,詳細信息請參考開源文檔:Dolphin開源文檔。

步驟一:開通Dolphin服務

  1. 登錄Lindorm管理控制臺。

  2. 在頁面左上角,選擇實例所屬的地域。

  3. 實例列表頁,單擊目標實例ID或者目標實例所在行操作列的管理

  4. 在左側導航欄,單擊數據庫連接,然后單擊計算引擎頁簽。

  5. 單擊開通Dolphin地址。

    說明

    如需使用公網,可單擊界面右上角的開通公網地址進行開通。

步驟二:登錄Dolphin

  1. 計算引擎頁簽,獲取Dolphin地址,并單擊該地址打開Dolphin服務頁面。

  2. 使用Lindorm寬表引擎賬號和密碼登錄Dolphin服務,獲取方法請參見用戶管理。

步驟三:創建數據源

  1. 在Dolphin控制臺,選擇源中心頁簽,單擊創建源。

    image

  2. 選擇源類型KYUUBI,并配置以下參數:

    參數

    說明

    數據源

    選擇KYUUBI

    源名稱

    自定義數據源名稱。本文以Lindorm-test為例。

    IP主機名

    JDBC連接地址。形如:ld-bp171py46qn73****-proxy-ldps.lindorm.aliyuncs.com,獲取方式請參考JDBC連接地址。

    端口

    填寫10009。

    用戶名

    寬表引擎的默認用戶名或其他新建的用戶名。獲取方式請參考訪問實例。

    密碼

    寬表引擎的默認密碼或其他新建的密碼。獲取方式參考訪問實例

    數據庫名

    填寫default或其他已存在且有訪問權限的數據庫。

    數據倉庫

    填寫default。

    JDBC連接參數

    JDBC連接參數。形如:{"token":"4175f22f-****-416a-943e-57b998da10e1","kyuubi.engine.share.level":"CONNECTION"},token獲取方式參考JDBC連接地址

    每個CONNECTION對應獨立的計算資源。

  3. 單擊測試連接,驗證連通性。

步驟四:創建工作流

  1. 在Dolphin控制臺,選擇項目管理頁簽,單擊創建項目,配置項目名稱。

  2. 單擊新建的項目名稱,進入項目管理界面。

  3. 在左側導航欄,單擊工作流定義,然后單擊創建工作流。

  4. 拖拽左側通用組件(SHELL/SQL)到右側畫布,對目標組件進行編輯。

    image

  5. 創建節點。

    • 創建SQL節點。

      1. 輸入節點名稱,以sql-test為例,數據源類型選擇KYUUBI,數據源實例選擇已創建的數據源Lindorm-test,輸入SQL語句示例如下:

        SQL語句示例如下:

        SELECT webUI();
      2. 添加前置SQL語句,并使用配置任務參數進行設置。

        重要

        前置SQL語句后不加分號。

        image

      3. 單擊確認,保存并退出。

    • 創建Shell節點。

      1. 輸入節點名稱,以shell-test為例,并提交批作業腳本,參數說明請參見創建作業參數說明。腳本示例如下:

        curl --location --request POST http://${endpoint}:10099/api/v1/lindorm/jobs/${token} --header "Content-Type:application/json" --data '{
        "owner":"root",
        "name":"test",
        "mainResourceKind":"jar",
        "mainClass":"com.aliyun.lindorm.WordCount",
        "mainResource":"oss://java_job/lindorm-spark-examples-1.0-SNAPSHOT.jar",
        "mainArgs":[],
        "username":"root",
        "password":"test"
        "conf":{
                "spark.dynamicAllocation.enabled":"false"}
        }'
      2. 單擊確認,保存并退出。

  6. 單擊界面右上角的保存,輸入工作流名稱,執行策略選擇串行等待,并保存工作流。

    image

  7. 在目標工作流操作欄圖標,單擊image圖標,上線工作流。然后單擊image圖標,運行工作流。

    image

  8. 在左側導航欄,單擊任務實例,查看當前任務。

    image

  9. 在左側導航欄,單擊工作流定義,在目標工作流操作欄圖標,單擊定時圖標,可設置定時調度工作流。

    image

    說明

    建議設置定時調度間隔為30分鐘,且每次調度的節點數不超過10個。

步驟五:作業運維

查看SQL作業詳情

  1. 在左側導航欄,單擊任務實例,單擊右側任務欄image圖標,進入日志界面。

  2. 在日志中搜索SQL Engine UI,獲取WebUI的鏈接。

  3. 通過獲取的鏈接,訪問WebUI界面,查看作業詳情。

查看Shell作業詳情

  1. 在左側導航欄,單擊任務實例,單擊右側任務欄image圖標,進入日志界面。

  2. 在日志中搜索JobId,獲取Shell作業的ID。

  3. 登錄Lindorm管理控制臺

  4. 在頁面左上角,選擇實例所屬的地域。

  5. 實例列表頁,單擊目標實例ID或者目標實例所在行操作列的管理。

  6. 在左側導航欄,單擊計算引擎。

  7. 作業列表JobId中輸入已獲取的Shell作業ID,查找目標作業。

  8. 在目標作業搜索結果中獲取WebUI地址。

  9. 通過獲取的鏈接,訪問WebUI界面,查看作業詳情。

最佳實踐

在工作流的Shell節點中同步調度JAR作業。參數說明請參見通過REST API管理作業。

#!/bin/bash

# 定義提交作業的 API 地址
SUBMIT_URL="http://${JDBC_URL}:10099/api/v1/lindorm/jobs/${token}"

# 定義作業提交的數據
PAYLOAD='{
    "owner":"root",
    "name":"test-shell",
    "username":"root",
    "password":"test",
    "mainResourceKind":"sql",
    "mainResource":"select webUI()",
    "mainArgs":[],
    "conf":{
        "spark.kubernetes.namespace":"default"
    }
}'

# 提交作業
submit_response=$(curl --silent --location --request POST "$SUBMIT_URL" --header "Content-Type:application/json" --data "$PAYLOAD")

# 解析提交響應以獲取 jobId
job_id=$(echo $submit_response | grep -o '"jobId":"[^"]*' | cut -d'"' -f4)
echo $job_id

# 檢查提交作業是否成功
if [[ -z "$job_id" ]]; then
    echo "Failed to submit the job."
    exit 1
fi

STATUS_URL="$SUBMIT_URL/$job_id"
echo $STATUS_URL

# 檢查作業狀態
while true; do
    # 獲取作業狀態
    status_response=$(curl --silent --request GET "$STATUS_URL")

    # 解析狀態響應以獲取 state
    state=$(echo $status_response | grep -o '"state":"[^"]*' | cut -d'"' -f4)

    # 打印當前狀態
    echo "Current job state: $state"

    # 判斷是否完成
    if [[ "$state" == "success" ]]; then
        echo "Job completed successfully."
        exit 0
    elif [[ "$state" == "failed" ]]; then
        echo "Job failed."
        exit 1
    fi

    # 暫停 60 秒后再次檢查狀態
    sleep 60
done