全部產品
Search
文件中心

SchedulerX:Agent接入(指令碼或HTTP任務)

更新時間:Sep 10, 2025

Agent接入後,您可以直接在SchedulerX控制台通過白屏化的方式編寫定時任務、重跑任務、查看歷史執行記錄、查看作業記錄等。本文介紹如何使用Agent(tar包或者鏡像)將非Java應用接入SchedulerX。

前提條件

說明

Agent支援DataWorks任務的調度執行,具體詳情,請參見DataWorks任務

應用情境

Agent接入SchedulerX的主要應用情境如下:

  • 通過Shell指令碼定時清理所有機器的日誌或定時拉起某個服務。

  • 通過Python指令碼定時清理資料庫歷史資料。

  • 通過HTTP介面定時掃描訂單。

環境要求

運行環境要求為JRE 1.8及以上版本。

手動部署Agent

  1. 下載Agent,並解壓縮。

    如果您的機器開通了公網IP,可以直接執行如下命令下載:

    說明

    X.X.X為版本號碼,您可以替換為自己需要的版本號碼,例如1.12.5。

    wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tar

    版本

    下載地址

    版本說明

    Agent 1.12.5

    https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.12.5.tar

    新增特性:

    Agent 1.11.5

    https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.11.5.tar

    問題修複:

    • 修複Netty和Logback的安全性漏洞。

    • 修複K8s任務too old resource version問題。

    Agent 1.10.13

    https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar

    新增特性:

    • 支援一個機器同時部署多個Agent。

    • HTTP Agent任務支援Response超過1000位元組。

    • 最佳化日誌,減少歷史日誌儲存。

    Agent 1.10.5

    https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.5.tar

    新增特性:

    • 支援優雅下線。

    • Log Service支援應用分組隔離。

    Agent 1.9.8

    https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.9.8.tar

    新增特性:

    • 支援Agent模式的HTTP任務。

    • 支援指令碼任務執行失敗後,返回最後一行日誌。

    • 支援K8s任務。

    Agent 1.7.10

    https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.7.10.tar.gz

    問題修複:

    • 修複秒層級任務運行緩慢的問題。

    • 修複Log Service可能導致OOM的問題。

    Agent 1.4.2

    https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz

    新增特性:支援Log Service。

    重要

    使用wget指令下載Agent,若串連網站逾時,請開啟公網IP或參見上傳或下載檔案(Linux)

  2. 進入schedulerxAgent/conf目錄,配置agent.properties檔案。

    配置資訊如下:

    endpoint=addr-hz-internal.edas.aliyun.com
    namespace=fd2965c4-****-****-af52-bb62aa4*****
    groupId=hxm.test
    appKey=1234*****
    • Endpoint為終端地址,請參見Endpoint列表

    • namespace為命名空間ID,你可以在命名空間 頁面擷取。

    • 應用ID應用key為應用的唯一標識和帳號,您可以在應用管理頁面擷取。

  3. 進入schedulerxAgent/bin目錄,執行start.sh命令啟動部署。

    說明

    如果要設定啟動Agent的記憶體,可以執行start-200m.shstart-500m.shstart-1g.sh

    啟動過程中,您可以根據需要執行以下操作:

    • 停止Agent命令:進入schedulerxAgent/bin目錄,執行stop.sh

    • 查看日誌:日誌路徑為${user.home}/logs/schedulerx/worker.log

      user.home可以通過執行ps aux | grep java命令查看。如果是admin使用者啟動的進程,日誌路徑為/home/admin/logs/schedulerx/worker.log;如果是root使用者啟動的進程,日誌路徑為/root/logs/schedulerx/worker.log

    回顯資訊包含Schedulerx Worker started時,表示部署成功。

    說明

    運行環境要求為 JDK 1.8 至 14 版本。若使用 JDK 版本超過 14,則需在 Agent 安裝目錄的 schedulerxAgent/bin/start.sh 檔案中去除-XX:+UseConcMarkSweepGC部分。

    image

通過Docker鏡像部署Agent

  1. 根據您的網路環境和CPU架構選擇鏡像。

    網路

    x86_64

    arm64

    公網

    registry.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-amd64

    registry.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-arm64

    華東1(杭州)VPC

    registry-vpc.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-amd64

    registry-vpc.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-arm64

    其他地區VPC

    說明

    其他Region鏡像可能不是最新版本,建議您選擇杭州或者公網Region擷取最新鏡像。

    registry-vpc.{regionId}.aliyuncs.com/schedulerx/agent:latest-amd64

    registry-vpc.{regionId}.aliyuncs.com/schedulerx/agent:latest-arm64

  2. 部署Agent。

    參數說明:

    docker run  --env SCHEDULERX_ENDPOINT="addr-hz-internal.edas.aliyun.com" \
       --env SCHEDULERX_NAMESPACE="fd2965c4-****-****-af52-bb62aa4*****" \
       --env SCHEDULERX_GROUPID="hxm.test" \
       --env SCHEDULERX_APPKEY="1234*****" \
       -d {image id}
    • SCHEDULERX_ENDPOINT即Endpoint。

    • SCHEDULERX_NAMESPACE為命名空間ID,可以在控制台的命名空間 頁面擷取。

    • SCHEDULERX_GROUPID為應用ID,SCHEDULERX_APPKEY為應用Key,可以在控制台的應用管理 頁面擷取。

    啟動部署任務後,您可以通過docker logs命令查看日誌。

通過K8s鏡像部署deployment

如果已有k8s環境,直接部署schedulerx-agent.yaml是最方便的。

schedulerx-agent.yaml範例程式碼:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: schedulerx-agent
  labels:
    app: schedulerx-agent
spec:
  replicas: 1
  selector:
    matchLabels:
      app: schedulerx-agent
  template:
    metadata:
      labels:
        app: schedulerx-agent
    spec:
      containers:
      - name: schedulerx-agent
        image: registry.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-amd64
        imagePullPolicy: Always
        resources:
          requests:
            cpu: 500m
        env:
          - name: "SCHEDULERX_ENDPOINT"
            value: "${SCHEDULERX_ENDPOINT}"
          - name: "SCHEDULERX_NAMESPACE"
            value: "${SCHEDULERX_NAMESPACE}"
          - name: "SCHEDULERX_GROUPID"
            value: "${SCHEDULERX_GROUPID}"
          - name: "SCHEDULERX_APPKEY"
            value: "${SCHEDULERX_APPKEY}"
          - name: "SCHEDULERX_STARTER_MODE"
            value: "pod"
        livenessProbe: 
          exec: 
            command: ["/bin/bash","/root/health.sh"]
          timeoutSeconds: 30
          initialDelaySeconds: 30

變數

說明

${SCHEDULERX_ENDPOINT}

您部署應用的地區(Region)和對應的Endpoint。詳情請參見Endpoint列表。例如addr-sh-internal.edas.aliyun.com

${SCHEDULERX_NAMESPACE}

namespace為命名空間ID,可以在控制台左側導覽列命名空間頁面擷取。

image

${SCHEDULERX_GROUPID}

groupId為應用ID,可以在控制台左側導覽列應用管理頁面擷取。

image.png

${SCHEDULERX_APPKEY}

appKey為應用key,可以在控制台左側導覽列應用管理頁面擷取。

image