すべてのプロダクト
Search
ドキュメントセンター

Microservices Engine:エージェントへの接続 (スクリプト/ビッグデータ/SQL タスク)

最終更新日:Mar 01, 2026

このトピックでは、Elastic Compute Service (ECS) インスタンスまたはコンテナーサービスにエージェントをインストールし、MSE-XXLJOB に接続する方法について説明します。

概要

MSE コンソールを使用すると、スクリプトや SQL を動的に作成または変更して、定期タスクをスケジュールおよび実行できます。

image.jpeg

操作手順

通常アプリケーションの作成

  1. XXL-JOB コンソールにログインし、トップメニューバーでリージョンを選択します。

  2. 対象のインスタンスをクリックして、インスタンス詳細ページを開きます。

  3. 左側のナビゲーションウィンドウで、[アプリケーション管理] を選択し、[アプリケーションの作成] をクリックします。

  4. [アプリケーションタイプ][通常アプリケーション] に設定し、必要に応じて他のパラメーターを設定してから、[OK] をクリックします。

エージェント経由でのエグゼキュータの接続

インストールパッケージ、Docker、または Kubernetes を使用してエグゼキュータをデプロイできます。

インストールパッケージを使用したデプロイ

前提条件

JDK 17 以降がインストールされていること。

  1. インストールパッケージをダウンロードします。

    wget https://schedulerx3.oss-cn-hangzhou.aliyuncs.com/xxljob/schedulerx3-agent-1.0.0-bin.tar.gz
  2. パッケージを展開して設定します。

    # パッケージを展開します。
    tar -zxvf schedulerx3-agent-1.0.0-bin.tar.gz
    cd schedulerx3-agent-1.0.0-bin

    展開後のディレクトリ構造は次のとおりです:

    schedulerx3-worker-2.4.2-jdk17-bin/
    ├── bin/              # 起動スクリプトフォルダ
    ├── conf/             # 設定ファイルフォルダ
    │   ├── application.yml      # アプリケーション設定
    │   └── logback-spring.xml   # ログ設定
    ├── lib/              # 依存 JAR パッケージフォルダ
    └── logs/             # ログフォルダ (実行時に自動作成)
        ├── stdout.log    # 標準出力ログ
        ├── stderr.log    # 標準エラーログ
        ├── worker.log    # アプリケーションログ
        ├── error.log     # エラーログ
        ├── gc.log        # GC ログ
        └── archive/      # アーカイブ済みログフォルダ

    conf/application.yml 設定ファイルを編集し、ご利用の XXL-JOB インスタンスに合わせて次のパラメーターを設定します:

    xxl:
      job:
        admin-addresses: {サービス登録アドレス}
        access-token: {アプリケーション AccessToken}
        executor:
          appname: {アプリケーション AppName}
  3. サービスを起動します。

    • Linux/Mac

      # バックグラウンドで起動
      ./bin/start.sh
      
      # フォアグラウンドで起動 (デバッグ用)
      ./bin/start.sh -f
      
      # 停止
      ./bin/stop.sh
      
      # 再起動
      ./bin/restart.sh
      
      # ステータスの確認
      ./bin/status.sh
      
      # ログの表示
      tail -f logs/worker.log
    • Windows

      REM バックグラウンドで起動
      .\bin\start.cmd
      
      REM フォアグラウンドで起動 (デバッグ用)
      .\bin\start.cmd -f
      
      REM 停止
      .\bin\stop.cmd
      
      REM 再起動
      .\bin\restart.cmd
      
      REM ステータスの確認
      .\bin\status.cmd
      
      REM ログの表示
      type logs\worker.log
  4. (オプション) ログの設定

    • メインのログファイルは logs/ フォルダにあります。デフォルトでは、タスク実行ログは ${user.home}/applogs/xxl-job/jobhandler にあります。

      ログファイル

      説明

      ローリングポリシー

      stdout.log

      標準出力ログ (起動ログ)

      スクリプトのリダイレクト

      stderr.log

      標準エラーログ (例外スタック)

      スクリプトリダイレクト

      worker.log

      アプリケーションログ (INFO 以上)

      ファイルあたり 100 MB、30 日間保持

      error.log

      エラーログ (ERROR レベル)

      ファイルあたり 50 MB、60 日間保持

      gc.log

      GC ログ

      JVM パラメーター設定

      heap_dump.hprof

      ヒープダンプファイル (メモリ不足 (OOM) 時に生成)

      -

      archive/

      アーカイブ済みログフォルダ (.gz への自動圧縮)

      -

    • conf/logback-spring.xml を編集して、ログ出力を調整します。

      <!-- ルートログレベルの変更 -->
      <root level="INFO">
          <appender-ref ref="STDOUT" />
          <appender-ref ref="FILE" />
      </root>
      <!-- 特定パッケージのログレベルの変更 -->
      <logger name="com.aliyun.schedulerx" level="DEBUG" />
      <logger name="com.xxl.job" level="DEBUG" />
  5. (任意) JVM パラメーターを設定します。実際のペイロードに基づいて JVM メモリサイズを調整します。

    # Linux/Mac - 一時的に指定
    JAVA_OPTS="-Xms2g -Xmx4g" ./bin/start.sh
    
    # Linux/Mac - 恒久的に変更
    vim bin/start.sh  # JAVA_OPTS 変数を編集
    
    # Windows - 一時的に指定
    set JAVA_OPTS=-Xms2g -Xmx4g
    .\bin\start.cmd
    
    # Windows - 恒久的に変更
    notepad bin\start.cmd  # JAVA_OPTS 変数を編集

Docker での起動

方法 1:パブリックイメージを使用したデプロイ

パブリックイメージは、通常のスクリプト用のランタイムを提供し、プリインストール済みの Python、Node.js、Go 環境が含まれています。イメージリポジトリから直接イメージをプルして実行でき、ビルドは不要です。

# イメージのプル
docker pull schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx3/schedulerx3-agent:1.0.0

# カスタム設定で実行
docker run -d \
  --name schedulerx3-agent \
  -p 9999:9999 \
  # 必要に応じて JVM パラメーターを設定
  -e JAVA_OPTS="-Xms1g -Xmx2g" \
  -e SCHEDULERX3_ADMIN_ADDRESSES="{サービス登録アドレス}" \
  -e SCHEDULERX3_EXECUTOR_APPNAME="{アプリケーション AppName}" \
  -e SCHEDULERX3_ACCESS_TOKEN="{アプリケーション AccessToken}" \
  -v $(pwd)/logs:/opt/schedulerx3-agent/logs \
  --restart unless-stopped \
  schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx3/schedulerx3-agent:1.0.0
  
方法 2:tar パッケージからのイメージのビルド

アプリケーションに追加のコンポーネントやカスタムベースイメージが必要な場合は、ダウンロードした tar パッケージからカスタムイメージをビルドし、ご利用のイメージリポジトリに公開できます。

# インストールパッケージのダウンロード
wget https://schedulerx3.oss-cn-hangzhou.aliyuncs.com/xxljob/schedulerx3-agent-1.0.0-bin.tar.gz
# Docker イメージのビルド
docker build -t schedulerx3-agent:1.0.0 -f Dockerfile .

以下は Dockerfile のサンプルです:

################################################################################
### ビジネスニーズに応じて、この Dockerfile に必要なコンポーネントをインストールします。
################################################################################

# 独自のベースイメージを設定
FROM hub.docker.xxx.com/library/openjdk:17.0.1-jdk-bullseye

LABEL maintainer="SchedulerX Team"
LABEL description="SchedulerX3 Agent - XXL-Job Executor"
LABEL version="2.4.2"

# Alibaba Cloud ミラーソースを設定
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \
    sed -i 's|security.debian.org/debian-security|mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list

# 基本ツール、Python 3、Node.js、Go をインストール
RUN apt-get update && \
    apt-get install -y python3 python3-distutils curl wget ca-certificates nodejs npm golang-go && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 公式スクリプトを使用して pip をインストール
RUN curl https://bootstrap.pypa.io/get-pip.py -o /tmp/get-pip.py && \
    python3 /tmp/get-pip.py && \
    rm -f /tmp/get-pip.py && \
    ln -sf /usr/bin/python3 /usr/bin/python

# Go 環境変数を設定
ENV GOPATH=/root/go
ENV PATH=$GOPATH/bin:$PATH
ENV GO111MODULE=on

# tar パッケージをイメージにコピー
COPY schedulerx3-agent-*-bin.tar.gz /tmp/schedulerx3-agent.tar.gz

# tar パッケージを指定フォルダに展開 (トップレベルフォルダを削除)
RUN mkdir -p /opt/schedulerx3-agent && \
    tar -xzf /tmp/schedulerx3-agent.tar.gz --strip-components=1 -C /opt/schedulerx3-worker && \
    chmod +x /opt/schedulerx3-agent/bin/*.sh && \
    mkdir -p /opt/schedulerx3-agent/logs && \
    rm -f /tmp/schedulerx3-agent.tar.gz

# 作業ディレクトリを設定
WORKDIR /opt/schedulerx3-agent

# ポートを公開
EXPOSE 9999

# 起動コマンド (start.sh のフォアグラウンドモードを使用)
CMD ["bin/start.sh", "-f"]

Kubernetes での起動

  1. schedulerx3-agent.yaml ファイルを作成して、デプロイメントを定義します。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: schedulerx3-agent
      labels:
        app: schedulerx3-agent
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: schedulerx3-agent
      template:
        metadata:
          labels:
            app: schedulerx3-agent
        spec:
          containers:
            - name: schedulerx3-agent
              image: schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx3/schedulerx3-agent:1.0.0
              imagePullPolicy: Always
              ports:
                - containerPort: 9999
              env:
                - name: "SCHEDULERX3_ADMIN_ADDRESSES"
                  value: "{サービス登録アドレス}"
                - name: "SCHEDULERX3_EXECUTOR_APPNAME"
                  value: "{アプリケーションの AppName}"
                - name: "SCHEDULERX3_ACCESS_TOKEN"
                  value: "{アプリケーションの AccessToken}"
              livenessProbe:
                tcpSocket:
                  port: 9999
                timeoutSeconds: 30
                initialDelaySeconds: 30
  2. Kubernetes にデプロイします。

    # デプロイ
    kubectl apply -f schedulerx3-agent.yaml

タスクの作成

スクリプトタスク

  1. インスタンス詳細ページの左側のナビゲーションウィンドウで、[タスク] > [タスク管理] を選択します。

  2. [タスクの作成] をクリックします。この例では、シェルスクリプトの設定方法を示します。他のパラメーターは必要に応じて設定するか、デフォルト値を使用できます。

    説明

    エージェントが UNIX/Linux システムにデプロイされている場合は、[ファイル形式] を Unix に設定してください。

    • [関連アプリケーション] に、作成した通常のアプリケーションを設定します。

    • [タスクタイプ][Shell] に設定します。

  3. [タスク管理] ページで、タスクの [操作] 列にある [一度実行] をクリックしてテストを実行します。

  4. 左側のナビゲーションウィンドウで [タスクインスタンス] を選択して、タスクの実行レコードを表示します。[ログ] をクリックして、スクリプトの詳細な実行情報を表示します。