1. 程式人生 > >EDAS ScheduleX 問題

EDAS ScheduleX 問題

淺談

ScheduleX 簡稱分散式任務排程,簡單的可以理解為就是一個分散式的計劃任務,多臺機器安裝了 ScheduleX 的客戶端後,使用者可以在 控制檯進行統計的任務排程和分配處理。

  • schedulerx-console 是 SchedulerX 的控制檯,用於建立、管理定時任務。負責資料的建立、修改和查詢。在產品內部與 schedulerx server 互動。
  • schedulerx-server 是 SchedulerX 的服務端,是 SchedulerX 的核心元件。負責客戶端任務的排程觸發以及任務執行狀態的監測。
  • schedulerx-client 是 SchedulerX 的客戶端。每個接入客戶端的應用程序就是一個的 Worker。Worker 負責與 schedulerx-server 建立通訊,讓 schedulerx-server 發現客戶端的機器。並向 schedulerx-server 註冊當前應用所在的分組,這樣 schedulerx-server 才能向客戶端定時觸發任務。

案例講解

案例一:

scheduleX 的控制檯介面的報警聯絡人是如何同步過來的?觸發報警後沒有通知聯絡人。

1

image

排查:

首先了解 scheduleX 控制檯上看到的使用者來源是 RAM Console 上的資料,如果你在 RAM Console 添加了一個子賬號,這裡就會顯示出來。

通過過來的內容只有子賬號資訊,不包含 RAM Console 上設定的手機、描述資訊等。

  • 從 RAM 控制檯同步過來的賬號,需要手動在控制檯上,賬號中心-》個人賬號裡面-》新增對應聯絡人
    image

案例二:

2018-12-19 17:40:41,522 ERROR ScxTaskProcessor-48-com.alibaba.uc.xxqg.video.res.job.CheckVideoSetAuditStatusJob-38885978-2018-12-19 17:40:30-0 -[Executor]: acknowledge failed, status:3, retryTimes:0, server:100.100.12.12:9999, instanceId:35978, id:31465, acknowledgeResult:false false 101 失敗 schedulerx-default-1

DTS-heart-beat-thread-1 -[DtsClientHeartBeatTimer]: serverList is empty, clientConfig:ClientConfig [remotingThreads=32, heartBeatIntervalTime=120000, connectionTimeout=3000, groupId=1-1-3-68, zkHosts=null, namespace=zk-dts-root, zkSessionTimeout=10000, zkConnectionTimeout=10000, isSpring=true, queueSize=10000, consumerThreads=5, consumerThreadsMap=null, version=2.1.4-SNAPSHOT, pageSize=1000, pageSizeMap=null, accessKey=8419bb9xx11448ea, secretKey=null, localAddress=192.168.1.7, clientId=0eeb6542-21ad920:192.168.1.7, crashRetry=false, pullTaskListOverSleepTime=20000, failureJobProcessorMap=null, stopJobProcessor=null, finishLog=true, isEveryTimeNew=false, zkHostsAutoChange=true, maxBodySize=65536, environment=SchedulerX, signature=hOM8Q9au7l6Y=, jobMap=null, machine=null, domainName=schedulerx-cn-north-2.console.aliyun.com, serviceGroup=null, regionName=cn-north-2-gov-1, serviceGroupId=null, autoInit=true, isAgent=false, newInstance=true, configPath=null, connectTime=1540556330841, innerDebug=0, newVersion=false] schedulerx-default-2

排查:

按照類似的報錯提示,是連結 scheduleX 的服務端失敗,可以參考一下排查過程:

  • 1)檢查下本機 ping schedulerx-cn-north-2.console.aliyun.com 的連通性,如果 ping 都不通肯定會報錯。
  • 2)curl 測試到 domainName=schedulerx-cn-north-2.console.aliyun.com 連通性,curl -voa http://schedulerx-cn-north-2.console.aliyun.com
  • 3)如果出現類似以下資訊,請工單聯絡阿里雲

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html>
    <head><title>301 Moved Permanently</title></head>
    <body bgcolor="white">
    <h1>301 Moved Permanently</h1>
    <p>The requested resource has been assigned a new permanent URI.</p>
    <hr/>Powered by Tengine</body>
    </html>