エージェントを接続すると、SchedulerX コンソールで定期タスクの作成、タスクの再実行、実行履歴の確認、および運用ログの参照が可能になります。本トピックでは、非 Java アプリケーションをエージェント(tar パッケージまたは Docker イメージ形式で提供)を用いて SchedulerX に接続する方法について説明します。
前提条件
エージェントは DataWorks タスクのスケジューリングおよび実行をサポートしています。詳細については、「DataWorks タスク」をご参照ください。
シナリオ
エージェントを用いた SchedulerX への接続の主なユースケースは、以下のとおりです。
-
すべてのマシン上でログを定期的にクリーンアップしたり、サービスを起動したりするために、Shell スクリプトを使用する場合。
-
データベース内の既存データを定期的にクリーンアップするために、Python スクリプトを使用する場合。
-
注文を定期的にスキャンするために、HTTP API を使用する場合。
要件
ランタイム環境には、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
リリースノート
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 タスクにおける「リソースバージョンが古すぎる」という問題を修正。
Agent 1.10.13
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar
新機能:
-
単一マシン上への複数エージェントのデプロイをサポート。
-
HTTP エージェントタスクにおいて、1000 バイトを超える応答をサポート。
-
ロギングを最適化し、履歴ログのストレージ量を削減。
Agent 1.10.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.5.tar
新機能:
-
グレースフルシャットダウンをサポート。
-
Simple Log Service がアプリケーショングループ単位での隔離をサポート。
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
バグ修正:
-
2 レベル目のタスクの実行が遅くなる問題を修正しました。
-
Simple Log Service がメモリ不足(OOM)エラーを引き起こす問題を修正。
Agent 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 です。コンソールの 名前空間 ページから取得できます。
-
groupId はアプリケーション ID、appKey はアプリケーションキーです。これらはコンソールの アプリケーション管理 ページから取得できます。
-
-
schedulerxAgent/bin ディレクトリに移動し、start.sh コマンドを実行してエージェントを起動します。
説明エージェントの起動メモリを設定するには、
start-200m.sh、start-500m.sh、またはstart-1g.shを実行します。起動中に実行可能な操作は以下のとおりです。
-
エージェントを停止するには、schedulerxAgent/bin ディレクトリに移動し、stop.sh を実行します。
-
ログを表示するには、ログパスは ${user.home}/logs/schedulerx/worker.log です。
ps aux | grep javaコマンドを実行して user.home のパスを確認します。たとえば、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
(パブリックネットワーク) 中国 (杭州)
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 です。コンソールの 名前空間 ページから取得できます。 -
SCHEDULERX_GROUPIDはアプリケーション ID、SCHEDULERX_APPKEYはアプリケーションキーです。これらはコンソールの アプリケーション管理 ページから取得できます。
デプロイタスクの起動後は、
docker logsコマンドを実行してログを確認できます。 -
Kubernetes イメージを用いた Deployment のデプロイ
Kubernetes 環境をお使いの場合は、schedulerx-agent.yaml ファイルを用いるのが最も簡単なエージェントのデプロイ方法です。
|
変数 |
説明 |
|
${SCHEDULERX_ENDPOINT} |
アプリケーションがデプロイされているリージョンおよび対応するエンドポイントです。詳細については、「エンドポイント一覧」をご参照ください。例: |
|
${SCHEDULERX_NAMESPACE} |
名前空間 ID です。コンソール左側のナビゲーションウィンドウから 名前空間 ページを開き、ID を取得します。
|
|
${SCHEDULERX_GROUPID} |
アプリケーション ID です。コンソール左側のナビゲーションウィンドウから アプリケーション管理 ページを開き、ID を取得します。
|
|
${SCHEDULERX_APPKEY} |
アプリケーションキーです。コンソール左側のナビゲーションウィンドウから アプリケーション管理 ページを開き、キーを取得します。
|


