エージェントを使用してアプリケーションを SchedulerX に接続すると、SchedulerX コンソールで、スケジュールされたジョブの作成、ジョブの再実行、ジョブ実行レコードの表示、および操作ログの表示ができます。このトピックでは、エージェントの tar パッケージまたはイメージを使用して、非 Java アプリケーションを SchedulerX に接続する方法について説明します。
前提条件
エージェントは、DataWorks ジョブのスケジューリングと実行をサポートします。詳細については、「DataWorks ジョブ」をご参照ください。
シナリオ
エージェントを使用して SchedulerX に接続するための一般的なシナリオは次のとおりです。
Shell スクリプトを使用して、すべてのマシンから定期的にログをクリアするか、サービスを開始します。
Python スクリプトを使用して、データベースから定期的に既存データをクリアします。
HTTP API を使用して、定期的に注文をスキャンします。
環境要件
ランタイム環境には、Java Runtime Environment (JRE) 1.8 以降が必要です。
エージェントの手動デプロイ
エージェントをダウンロードして解凍します。
お使いのマシンにパブリック IP アドレスがある場合は、次のコマンドを実行してパッケージをダウンロードします。
説明X.X.X を、1.12.5 などの必要なバージョン番号に置き換えます。
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tarバージョン
ダウンロード URL
説明
エージェント 1.12.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.12.5.tar
新機能:
プレースホルダーを使用してジョブのシステム変数を取得することをサポートします。
HTTP ジョブのカスタムスレッドプールサイズをサポートします。
スクリプトジョブが標準出力の最後の行を実行結果として返すことを許可します。
エージェント 1.11.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.11.5.tar
修正された問題:
Netty と Logback のセキュリティ脆弱性を修正しました。
K8s ジョブの「too old resource version」問題を修正しました。
エージェント 1.10.13
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar
新機能:
1 台のマシンに複数のエージェントをデプロイすることをサポートします。
HTTP エージェントジョブは 1000 バイトを超える応答をサポートします。
ログを最適化して、既存ログのストレージを削減しました。
エージェント 1.10.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.5.tar
新機能:
グレースフルシャットダウンをサポートします。
Simple Log Service は、アプリケーション グループによる隔離をサポートします。
エージェント 1.9.8
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.9.8.tar
新機能:
エージェントモードでの HTTP ジョブをサポートします。
スクリプトジョブが失敗した場合にログの最後の行を返すことをサポートします。
K8s ジョブをサポートします。
エージェント 1.7.10
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.7.10.tar.gz
修正された問題:
第 2 レベルのジョブの実行が遅い問題を修正しました。
Simple Log Service がメモリ不足 (OOM) エラーを引き起こす可能性がある問題を修正しました。
エージェント 1.4.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz
新機能: Simple Log Service をサポートします。
重要wget コマンドを使用してエージェントをダウンロードする際に接続がタイムアウトした場合は、マシンにパブリック IP アドレスがあることを確認するか、「ファイルのアップロードまたはダウンロード (Linux)」をご参照ください。
schedulerxAgent/conf ディレクトリに移動し、agent.properties ファイルを構成します。
構成は次のとおりです。
endpoint=addr-hz-internal.edas.aliyun.com namespace=fd2965c4-****-****-af52-bb62aa4***** groupId=hxm.test appKey=1234*****Endpoint はサービスエンドポイントです。詳細については、「エンドポイント」をご参照ください。
namespace は名前空間 ID です。ID は [Namespace] または ページから取得できます。
groupId と appKey は、アプリケーションの一意の ID とキーです。これらは [アプリケーション管理] ページから取得できます。
schedulerxAgent/bin ディレクトリに移動し、start.sh コマンドを実行してエージェントを開始します。
説明エージェントの起動メモリを設定するには、
start-200m.sh、start-500m.sh、またはstart-1g.shを実行します。エージェントが開始したら、次の操作を実行できます。
エージェントの停止: 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 より後のバージョンを使用する場合は、
schedulerxAgent/bin/start.shファイルから-XX:+UseConcMarkSweepGCオプションを削除してください。
Docker イメージを使用したエージェントのデプロイ
ネットワーク環境と CPU アーキテクチャに基づいてイメージを選択します。
ネットワーク
x86_64
arm64
インターネット
registry.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-amd64
registry.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-arm64
中国 (杭州) VPC
registry-vpc.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-amd64
registry-vpc.cn-hangzhou.aliyuncs.com/schedulerx/agent:latest-arm64
他のリージョンの VPC
説明他のリージョンのイメージは最新バージョンではない場合があります。最新のイメージを取得するには、中国 (杭州) またはインターネットリージョンを選択することをお勧めします。
registry-vpc.{regionId}.aliyuncs.com/schedulerx/agent:latest-amd64
registry-vpc.{regionId}.aliyuncs.com/schedulerx/agent:latest-arm64
エージェントをデプロイします。
パラメーターの説明:
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 はエンドポイントです。
SCHEDULERX_NAMESPACEは名前空間 ID です。ID はコンソールの [Namespace] または ページから取得できます。SCHEDULERX_GROUPIDはアプリケーション ID で、SCHEDULERX_APPKEYはアプリケーションキーです。これらは、コンソールの [アプリケーション管理] ページまたは ページから取得できます。
デプロイを開始した後、
docker logsコマンドを実行してログを表示できます。
K8s イメージを使用したデプロイメントのデプロイ
Kubernetes 環境がある場合、最も簡単な方法は、schedulerx-agent.yaml マニフェストを適用してエージェントをデプロイすることです。
変数 | 説明 |
${SCHEDULERX_ENDPOINT} | アプリケーションがデプロイされているリージョンと対応するエンドポイント。詳細については、「エンドポイント」をご参照ください。例: |
${SCHEDULERX_NAMESPACE} | 名前空間 ID。コンソールの左側のナビゲーションウィンドウにある [Namespace] ページから取得できます。
|
${SCHEDULERX_GROUPID} | アプリケーション ID。コンソールの左側のナビゲーションウィンドウにある [アプリケーション管理] ページから取得できます。
|
${SCHEDULERX_APPKEY} | アプリケーションキー。コンソールの左側のナビゲーションウィンドウにある [アプリケーション管理] ページから取得できます。
|


