Agent接入後,您可以直接在SchedulerX控制台通過白屏化的方式編寫定時任務、重跑任務、查看歷史執行記錄、查看作業記錄等。本文介紹如何使用Agent(tar包或者鏡像)將非Java應用接入SchedulerX。
前提條件
Agent支援DataWorks任務的調度執行,具體詳情,請參見DataWorks任務。
應用情境
Agent接入SchedulerX的主要應用情境如下:
通過Shell指令碼定時清理所有機器的日誌或定時拉起某個服務。
通過Python指令碼定時清理資料庫歷史資料。
通過HTTP介面定時掃描訂單。
環境要求
運行環境要求為JRE 1.8及以上版本。
手動部署Agent
下載Agent,並解壓縮。
如果您的機器開通了公網IP,可以直接執行如下命令下載:
說明X.X.X為版本號碼,您可以替換為自己需要的版本號碼,例如1.12.5。
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tar版本
下載地址
版本說明
Agent 1.13.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.2.tar.gz
新增特性
支援CGroup V2下CPU指標採集
支援任務執行線程池自訂線程池大小(參數Key:share.pool.size)
Agent 1.12.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.12.5.tar
新增特性:
支援Http任務自訂線程池大小。
指令碼任務可以返回最後一行標準輸出作為執行結果。
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)。
進入schedulerxAgent/conf目錄,配置agent.properties檔案。
配置資訊如下:
endpoint=addr-hz-internal.edas.aliyun.com # 公網地區使用domainName代替endpoint接入 # domainName={domainName} namespace=fd2965c4-xxxx-xxxx-af52-bb62aa4f19f2 groupId=hxm.test appKey=12******789Endpoint為終端地址,請參見Endpoint列表。
namespace為命名空間ID,你可以在命名空間 頁面擷取。
應用ID和應用key為應用的唯一標識和帳號,您可以在應用管理頁面擷取。
進入schedulerxAgent/bin目錄,執行start.sh命令啟動部署。
說明如果要設定啟動Agent的記憶體,可以執行
start-200m.sh、start-500m.sh和start-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部分。
通過Docker鏡像部署Agent
根據您的網路環境和CPU架構選擇鏡像。
說明以下鏡像地址需通過公網訪問。
網路
x86_64
arm64
(公網)華東1(杭州)
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
(公網)新加坡
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
部署Agent。
參數說明:
docker run --env SCHEDULERX_ENDPOINT="addr-hz-internal.edas.aliyun.com" \ --env SCHEDULERX_NAMESPACE="fd2965c4-xxxx-xxxx-af52-bb62aa4f19f2" \ --env SCHEDULERX_GROUPID="hxm.test" \ --env SCHEDULERX_APPKEY="12*****789" \ -d {image id}SCHEDULERX_ENDPOINT即Endpoint。
SCHEDULERX_NAMESPACE為命名空間ID,可以在控制台的命名空間 頁面擷取。SCHEDULERX_GROUPID為應用ID。SCHEDULERX_APPKEY為應用Key,可以在控制台的應用管理 頁面擷取。
啟動部署任務後,您可以通過
docker logs命令查看日誌。
通過K8s鏡像部署deployment
如果已有K8s環境,可直接通過schedulerx-agent.yaml部署。
變數 | 說明 |
${SCHEDULERX_ENDPOINT} | 您部署應用的地區(Region)和對應的Endpoint。詳情請參見Endpoint列表。例如 |
${SCHEDULERX_NAMESPACE} | namespace為命名空間ID,可以在控制台左側導覽列命名空間頁面擷取。
|
${SCHEDULERX_GROUPID} | groupId為應用ID,可以在控制台左側導覽列應用管理頁面擷取。
|
${SCHEDULERX_APPKEY} | appKey為應用key,可以在控制台左側導覽列應用管理頁面擷取。
|
${SCHEDULERX_SHARE_POOL_SIZE} | 非必選,自訂配置任務執行線程池大小。 |


