エージェントを SchedulerX に接続して、コンソールからスケジュールジョブの作成と管理、実行履歴の表示、実行ログの確認を行います。このガイドでは、tar パッケージまたは Docker イメージとしてエージェントを使用して、非 Java アプリケーションを接続する方法について説明します。
前提条件
エージェントは DataWorks ジョブのスケジューリングと実行をサポートしています。詳細については、「DataWorks ジョブ」をご参照ください。
ユースケース
エージェントを使用して SchedulerX に接続する一般的なユースケースは次のとおりです。
シェルスクリプトを使用した、すべてのマシン上のログの定期的なクリーンアップやサービスの開始
Python スクリプトを使用した、データベース内の履歴データの定期的なクリーンアップ
HTTP API を使用した、注文の定期的なスキャン
環境要件
バージョン 1.8 以降の Java Runtime Environment (JRE) が必要です。
エージェントの手動デプロイ
エージェントパッケージをダウンロードして解凍します。
お使いのマシンにパブリック IP アドレスがある場合は、次のコマンドを実行してパッケージをダウンロードできます。
説明X.X.X を必要なバージョン番号 (例:1.13.5) に置き換えてください。バージョンによっては、ファイル拡張子が .tar の場合もあります。
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tar.gzバージョン
ダウンロード URL
説明
Agent 1.13.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.5.tar.gz
新機能:
秒レベルのジョブはグレースフルシャットダウンをサポートします。
スクリプトジョブは、ワークフローでのアップストリーム/ダウンストリームのデータ受け渡しをサポートします。
cgroup v2 によるシステムパフォーマンスメトリクスの収集をサポートします。
Agent 1.13.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.2.tar.gz
新機能:
cgroup v2 環境における CPU メトリクス収集をサポートします。
ジョブ実行スレッドプールのサイズをカスタマイズできます。パラメーターキーは
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 のセキュリティ脆弱性を修正。
Kubernetes ジョブの「too old resource version」問題を修正。
Agent 1.10.13
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar
新機能:
単一のマシンへの複数のエージェントのデプロイをサポートします。
HTTP エージェントジョブは 1,000 バイトを超えるレスポンスをサポートします。
履歴ログのストレージを削減するためにロギングを最適化します。
Agent 1.10.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.5.tar
新機能:
グレースフルシャットダウンをサポートします。
ログサービスは、アプリケーション・グループによる分離をサポートします。
Agent 1.9.8
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.9.8.tar
新機能:
エージェントモードでの HTTP ジョブをサポートします。
スクリプトジョブが失敗した場合に、最後のログエントリを結果として返すことをサポートします。
Kubernetes ジョブをサポートします。
Agent 1.7.10
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.7.10.tar.gz
修正点:
秒レベルのジョブの実行が遅い問題を修正。
ログサービスがメモリ不足 (OOM) エラーを引き起こす可能性がある問題を修正。
Agent 1.4.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz
新機能:ログサービスをサポートします。
重要wget コマンドを使用してエージェントをダウンロードする際に接続がタイムアウトした場合は、マシンにパブリック IP アドレスを有効にするか、「Linux インスタンスでファイルをアップロードまたはダウンロードする」をご参照ください。
schedulerxAgent/conf ディレクトリに移動し、agent.properties ファイルを設定します。
endpoint=addr-hz-internal.edas.aliyun.com namespace=fd2965c4-****-****-af52-bb62aa4***** groupId=hxm.test appKey=1234*****エンドポイントは、エンドポイントを指定します。 詳細については、「エンドポイントリスト」をご参照ください。
namespace は名前空間 ID です。ID はNamespace ページで取得できます。
アプリケーション ID と アプリケーションキーは、アプリケーションの一意の識別子と認証情報です。 これらは Application Management ページで取得できます。
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 が必要です。14 を超える JDK バージョンを使用する場合は、Agent のインストールディレクトリにある
schedulerxAgent/bin/start.shファイルから-XX:+UseConcMarkSweepGCを削除してください。
Docker イメージを使用したエージェントのデプロイ
ネットワーク環境と CPU アーキテクチャに基づいてイメージを選択します。
ネットワーク
x86_64
arm64
(パブリックネットワーク) 中国 (杭州)
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
エージェントをデプロイします。
環境変数:
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 で、コンソールの Namespace または ページから取得できます。SCHEDULERX_GROUPIDはアプリケーション ID、SCHEDULERX_APPKEYはアプリケーションキーです。 コンソールの Application Management ページで取得できます。
デプロイタスクを開始した後、
docker logsコマンドを使用してログを表示できます。
Kubernetes デプロイメントを使用したエージェントのデプロイ
k8s 環境がすでにある場合は、schedulerx-agent.yaml を直接デプロイするのが最も便利です。
変数 | 説明 |
${SCHEDULERX_ENDPOINT} | アプリケーションをデプロイするリージョンと、対応するエンドポイント。 詳細については、「エンドポイントリスト」をご参照ください。 例: |
${SCHEDULERX_NAMESPACE} | 名前空間 ID。 コンソールの左側のナビゲーションペインにあるNamespaceページから取得できます。
|
${SCHEDULERX_GROUPID} | アプリケーション ID。コンソールの左側のナビゲーションペインにあるApplication Management ページから取得できます。
|
${SCHEDULERX_APPKEY} | アプリケーションキーは、コンソールの左側のナビゲーションペインにあるApplication Management ページから取得できます。
|


