エージェントを使用してアプリケーションを接続すると、SchedulerX コンソールで定期タスクの作成、タスクの再実行、実行履歴の表示、操作ログの表示ができます。このトピックでは、エージェント (tar パッケージまたはイメージとして) を使用して非 Java アプリケーションを SchedulerX に接続する方法について説明します。
前提条件
エージェントは DataWorks タスクのスケジューリングと実行をサポートしています。詳細については、「DataWorks タスク」をご参照ください。
利用シーン
エージェントを使用して SchedulerX に接続する一般的な利用シーンは次のとおりです。
シェルスクリプトを使用して、すべてのマシン上のログを定期的にクリアしたり、サービスを開始したりします。
Python スクリプトを使用して、データベースから既存データを定期的にクリアします。
HTTP インターフェイスを使用して、注文を定期的にスキャンします。
環境要件
ランタイム環境は 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.13.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.2.tar.gz
新機能
CGroup V2 での CPU メトリックのコレクションをサポートします。
タスク実行スレッドプールのカスタムスレッドプールサイズをサポートします。パラメーターキーは share.pool.size です。
エージェント 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 のセキュリティ脆弱性を修正します。
Kubernetes (K8s) タスクの「too old resource version」問題を修正します。
エージェント 1.10.13
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar
新機能:
単一マシンへの複数エージェントのデプロイをサポートします。
1000 バイトを超える応答を持つ HTTP エージェントタスクをサポートします。
履歴ログストレージを削減するためにログを最適化します。
エージェント 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 コマンドを使用してエージェントをダウンロードする際に接続がタイムアウトする場合は、マシンのパブリックネットワークアクセスを有効にするか、「ファイルのアップロードまたはダウンロード (Linux)」をご参照ください。
schedulerxAgent/conf ディレクトリに移動し、agent.properties ファイルを構成します。
構成には次のパラメーターが含まれます。
endpoint=addr-hz-internal.edas.aliyun.com # パブリックネットワークアクセスには、endpoint の代わりに domainName を使用します。 # domainName={domainName} namespace=fd2965c4-xxxx-xxxx-af52-bb62aa4f19f2 groupId=hxm.test appKey=12******789endpoint:エンドポイント。詳細については、「エンドポイント」をご参照ください。
namespace:名前空間 ID。この ID は、[名前空間] ページまたは ページで取得できます。
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 ファイルを確認します。
ps aux | grep javaコマンドを実行して、user.home パスを見つけることができます。たとえば、プロセスが admin ユーザーによって開始された場合、ログパスは /home/admin/logs/schedulerx/worker.log です。プロセスが root ユーザーによって開始された場合、ログパスは /root/logs/schedulerx/worker.log です。
Schedulerx Worker startedを含む応答は、エージェントが正常に起動したことを示します。説明ランタイム環境は Java Development Kit (JDK) 1.8 から 14 である必要があります。14 より後の JDK バージョンを使用する場合は、エージェントのインストールディレクトリにある
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-xxxx-xxxx-af52-bb62aa4f19f2" \ --env SCHEDULERX_GROUPID="hxm.test" \ --env SCHEDULERX_APPKEY="12*****789" \ -d {image id}SCHEDULERX_ENDPOINT:エンドポイント。
SCHEDULERX_NAMESPACE:名前空間 ID。この ID は、コンソールの [名前空間] ページまたは ページから取得できます。SCHEDULERX_GROUPID:アプリケーション ID。SCHEDULERX_APPKEY:アプリケーションキー。アプリケーション ID とキーは、コンソールの [アプリケーション管理] ページまたは ページから取得できます。
デプロイが開始された後、
docker logsコマンドを実行してログを表示できます。
K8s イメージを使用した Deployment のデプロイ
Kubernetes 環境がある場合は、schedulerx-agent.yaml ファイルを使用してエージェントを直接デプロイできます。
変数 | 説明 |
${SCHEDULERX_ENDPOINT} | アプリケーションがデプロイされているリージョンと対応するエンドポイント。詳細については、「エンドポイント」をご参照ください。例: |
${SCHEDULERX_NAMESPACE} | 名前空間 ID。この ID は、コンソールの左側のナビゲーションウィンドウにある [名前空間] ページから取得できます。
|
${SCHEDULERX_GROUPID} | アプリケーション ID。この ID は、コンソールの左側のナビゲーションウィンドウにある [アプリケーション管理] ページから取得できます。
|
${SCHEDULERX_APPKEY} | アプリケーションキー。このキーは、コンソールの左側のナビゲーションウィンドウにある [アプリケーション管理] ページから取得できます。
|
${SCHEDULERX_SHARE_POOL_SIZE} | 任意。タスク実行スレッドプールのカスタムサイズ。 |


