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.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 namespace=fd2965c4-****-****-af52-bb62aa4***** groupId=hxm.test appKey=1234*****Endpoint為終端地址,請參見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
公網
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
部署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_ENDPOINT} | 您部署應用的地區(Region)和對應的Endpoint。詳情請參見Endpoint列表。例如 |
${SCHEDULERX_NAMESPACE} | namespace為命名空間ID,可以在控制台左側導覽列命名空間頁面擷取。
|
${SCHEDULERX_GROUPID} | groupId為應用ID,可以在控制台左側導覽列應用管理頁面擷取。
|
${SCHEDULERX_APPKEY} | appKey為應用key,可以在控制台左側導覽列應用管理頁面擷取。
|


