コンテンツにスキップ

3.3 Cluster Editionのインストールとデプロイ

Cluster EditionはSQL接続、データ保存、レプリケーション、ノード管理を複数の役割に分けます。 インストール前に各役割をどのホストへ配置するか、どのポートと保存パスを使うかを決めます。 通常のSQL接続はBrokerへ、運用コマンドは該当する管理ノードへ送る必要があります。

ノードの役割

ノード役割
Coordinatorクラスターメタ情報の管理、ノード状態の監視
Deployerパッケージの配布とノード初期化の中継
Lookup参照データと検索処理
BrokerSQLの解析とクエリの分配、クライアントの接続先
Warehouse実データの保存とクエリ実行

以下のYAML例は、3ホストにCoordinator 2台、Deployer 3台、Lookup 2台(master 1台、monitor 1台)、 Broker 2台、Warehouse 2台(1つのレプリケーショングループ)を配置します。 実際のノード数と配置は、可用性、スループット、障害時に残す必要がある容量に基づいて決めます。

デプロイ方式

方式説明適している場合
machclusterctlcluster.yamlによる自動デプロイ推奨。新規構築
手動(machcoordinatoradmin)Coordinatorコマンドによるノード登録・デプロイ細かい制御が必要な場合

インストール手順

  1. Cluster Editionの構成概要を理解
  2. 環境の準備(SSH鍵、カーネルパラメーター、NTP)
  3. パッケージ・パスとライセンスの適用方式を準備
  4. デプロイ方式を選択してインストール・起動し、ライセンスを確認
  5. インストール検証

Cluster Editionの構成概要

役割を分離したCoordinator、Deployer、Lookup、Broker、Warehouseノードで構成されます。 各ノードの役割と相互関係を理解してからデプロイ計画を立ててください。

ノードの役割の詳細

Coordinator

クラスターメタデータ、ノード登録、状態監視を担当します。Primary/Secondaryによる冗長化を検討してください。 稼働中のデータ処理経路と管理経路は分かれていますが、Coordinator障害時に全SQLの継続動作が保証される わけではありません。他ノードの状態とクライアントへの影響も確認し、検証済みの障害対応手順を使用します。

  • 設定ファイル: $MACHBASE_COORDINATOR_HOME/conf/machbase.conf
  • 管理ツール: machcoordinatoradmin
  • 主なポート: CLUSTER_LINK_PORT_NOHTTP_ADMIN_PORT

デフォルトはCLUSTER_LINK_PORT_NO=3868HTTP_ADMIN_PORT=5779です。本章の例では運用中の ポート競合を避けるため、Coordinatorのlink/adminポートに5101/5102を明示します。

Deployer

Coordinatorの指示に従い、各ノードへパッケージを配布して初期化を中継します。 各ノードホストに1台ずつ配置するか、専用のデプロイサーバーで運用します。

  • 管理ツール: machdeployeradmin

Lookup

参照データと検索処理のためのノードです。構成に応じてmastermonitorslaveの役割を指定します。

Broker

クライアントのSQL要求を受け取り、解析して適切なWarehouseへ分配します。通常のアプリケーションは Brokerのアドレスに接続します。Warehouseへの直接接続はレプリケーション状態の比較など管理診断手順だけで 使用し、アプリケーションの接続経路と区別します。Brokerの冗長化を推奨します。

  • クライアント接続ポート: デフォルト5656

Warehouse

実データを保存してクエリを実行します。同じグループのWarehouse間でデータを複製し、高可用性を提供します。 グループごとに2台以上を推奨します。

構成例

[クライアント]
     │ (SQL, 5656)
     ▼
[Broker ×2]  ──────────────────────────────────────────
     │ (クエリ分配)
     ├─► [Warehouse group1-node1] ◄──レプリケーション──► [Warehouse group1-node2]
     └─► [Warehouse group2-node1] ◄──レプリケーション──► [Warehouse group2-node2]

[Coordinator Primary] ◄──HA──► [Coordinator Secondary]
     │ (メタ情報管理、ノード監視)
[Deployer]
     │
[Lookup master / monitor]

Editionの比較

Standard Editionとの詳細比較は Editionの違いを参照してください。


Cluster Editionのインストール環境の準備

デプロイ前に全ノードで次の環境を準備します。

ファイルディスクリプターの上限

全ノードに次の設定を適用します。

sudo vi /etc/security/limits.conf
*  hard  nofile  65535
*  soft  nofile  65535

サーバー実行アカウントで新しいログインセッションを開き、確認します。サービスマネージャーから起動する場合は、 サービス自体のファイルディスクリプター上限も確認します。

ulimit -Sn
# 65535

OSユーザーの作成

全ノードにmachbaseアカウントを作成します。

sudo useradd -m machbase --home-dir /home/machbase
sudo passwd machbase

SSH鍵認証

machclusterctlを使用する場合は、デプロイサーバーから全ノードへパスワードなしでSSH接続できる必要があります。

# デプロイサーバーでSSH鍵を生成(既存なら省略)
ssh-keygen -t rsa -b 4096

# 各ノードに公開鍵を登録
ssh-copy-id machbase@192.168.1.11

登録後、パスワードなしで接続できるか確認します。

ssh machbase@192.168.1.11 'hostname'

ネットワークのカーネルパラメーター

以下はネットワークバッファの調整例であり、全サーバーに適用する必須値ではありません。 現在のカーネル設定、メモリ使用量、ネットワークのボトルネックを先に測定します。値を増やした後は スループットだけでなくメモリと遅延も比較し、効果を確認した項目だけを永続化します。

sudo sysctl -w net.core.rmem_default=33554432
sudo sysctl -w net.core.wmem_default=33554432
sudo sysctl -w net.core.rmem_max=268435456
sudo sysctl -w net.core.wmem_max=268435456
sudo sysctl -w 'net.ipv4.tcp_rmem=262144 33554432 268435456'
sudo sysctl -w 'net.ipv4.tcp_wmem=262144 33554432 268435456'
sudo sysctl -w 'net.ipv4.tcp_mem=8388608 8388608 8388608'

永続化するには/etc/sysctl.confに追加します。

時刻同期(NTP)

全ノードのシステム時刻が一致する必要があります。NTPまたはchronyで同期してください。

# chronyの使用例
sudo systemctl enable chronyd
sudo systemctl start chronyd
chronyc tracking

タイムサーバーを使用できない隔離されたインストール環境では、初期時刻を直接設定できます。 次の値は書式例なので実際の現在時刻に置き換えてください。手動設定だけではノード間の時刻差を継続的に 補正できないため、本番投入前に時刻同期経路を用意します。

sudo date -s "2025-01-02 12:34:56"

ポートの予約

各ノードでMachbaseが使用するポートを予約します。

current=$(cat /proc/sys/net/ipv4/ip_local_reserved_ports)
ports=5101-5110,5201-5202,5301-5302,5401,5500-5503,5656
sudo sysctl -w net.ipv4.ip_local_reserved_ports="${current:+$current,}$ports"

既存の予約ポートは上書きせず、カンマで区切って統合します。クラスター構成に応じてポート範囲を調整してください。 Cluster link、Coordinator/Deployerの管理、サービス、Warehouseのレプリケーション管理ポートなどを すべて含める必要があります。


machclusterctlによるデプロイ

machclusterctlは1つのcluster.yamlでクラスター全体を自動デプロイ・管理するツールです。 SSHで各ノードにリモート接続し、パッケージ配布、初期化、起動・終了を一括処理します。

前提条件

  • Primary Coordinatorをインストールするホストでコマンドを実行し、そのホストからパッケージと SSH秘密鍵を読み取れる必要があります。
  • Primaryホストから全対象ホストへSSH鍵認証が設定されている必要があります。
  • 各ノードのhome_pathdbs_pathの親パスに作成・書き込み権限が必要です。
  • 別のライセンスが必要な場合は、自動起動前に配布パッケージとライセンス適用手順を準備します。 YAMLに任意のライセンスプロパティは追加しません。
  • Cluster Editionのインストール環境の準備の完了

作業手順

段階ドキュメント
1. cluster.yamlの作成cluster.yamlの作成
2. YAMLの妥当性検査YAMLの検証
3. 初回インストールと起動初回インストール
4. 状態確認初回インストールと状態確認
5. 以降の構成変更Cluster運用
6. 障害時の復旧Clusterのトラブルシューティング

cluster.yamlの作成

cluster.yamlはインストールするノード構成とパスを宣言します。以下のアドレスは例のため実ホストに 置き換えます。origin_pathはコマンドを実行するPrimary Coordinatorホストから読み取るアーカイブ、 home_pathdbs_pathは該当ノードホスト上のパスです。deployerはそのノードを配置・制御する Deployerを参照します。

ファイル構造の例

version: "1"

cluster:
  name: mc-prod

  hosts:
    node1:
      address: machbase@192.168.1.10
    node2:
      address: machbase@192.168.1.11
    node3:
      address: machbase@192.168.1.12

  package:
    name: machbase
    origin_path: /home/machbase/packages/machbase-cluster-8.7.0.official-LINUX-X86-64-release.tgz

  ssh:
    key_file: /home/machbase/.ssh/id_rsa

  defaults:
    coordinator:
      home_path: /home/machbase/coordinator
      cluster_link_port: 5101
      http_admin_port: 5102
    deployer:
      home_path: /home/machbase/deployer
      cluster_link_port: 5201
      http_admin_port: 5202
    lookup:
      home_path: /home/machbase/lookup
      cluster_link_port: 5301
    broker:
      home_path: /home/machbase/broker
      cluster_link_port: 5401
      service_port: 5656
    warehouse:
      home_path: /home/machbase/warehouse
      cluster_link_port: 5501
      service_port: 5500

  coordinators:
    - alias: coord-primary-1
      host: node1
      role: primary

    - alias: coord-secondary-1
      host: node2
      role: secondary

  deployers:
    - alias: deployer-1
      host: node1

    - alias: deployer-2
      host: node2

    - alias: deployer-3
      host: node3

  lookup:
    - alias: lookup-master-1
      host: node1
      deployer: deployer-1
      type: master

    - alias: lookup-monitor-1
      host: node2
      deployer: deployer-2
      type: monitor

  brokers:
    - alias: broker-1
      host: node1
      deployer: deployer-1
      dbs_path: /data/machbase/broker-1/dbs

    - alias: broker-2
      host: node2
      deployer: deployer-2

  warehouse_groups:
    - name: group1
      nodes:
        - alias: warehouse-group1-1
          host: node2
          deployer: deployer-2
          dbs_path: /data/machbase/warehouse-group1-1/dbs

        - alias: warehouse-group1-2
          host: node3
          deployer: deployer-3
          dbs_path: /data/machbase/warehouse-group1-2/dbs

主な項目の説明

項目説明
versionYAMLスキーマバージョン。現在は"1"を使用します。
cluster.nameクラスター名。destroyの確認などで使用します。
cluster.hostsノードから参照するホスト別名とSSH接続先。addressuser@host形式です。
cluster.package.nameCoordinatorへ登録するパッケージ名。
cluster.package.origin_pathinstallapplyupgradeの入力に使用するパッケージアーカイブのパス。
cluster.package.registered_pathexportが記録するCoordinatorのパッケージ保存先の観測パス。実行入力には使用しません。
cluster.ssh.key_file対象サーバーへの接続に使用する秘密鍵パス。パスワードフィールドは使用しません。
cluster.defaultsノードタイプ別のhome_pathcluster_link_portservice_portのデフォルト値。
cluster.coordinatorsCoordinatorノード一覧。roleprimaryまたはsecondary
cluster.deployersDeployerノード一覧。
cluster.lookupLookupノード一覧。typemastermonitorslave
cluster.brokersBrokerノード一覧。クライアントSQL接続ポートはservice_port
cluster.warehouse_groupsWarehouseグループとグループ別ノード一覧。

推奨構成

  • Coordinator: 2台(Primary + Secondary HA)
  • Deployer: 1台以上
  • Lookup: master 1台、monitor 1台以上
  • Broker: 2台以上(負荷分散)
  • Warehouseグループ: グループごとに2台(レプリケーションによる高可用性)

同じサーバーに同タイプのノードを2台以上配置する場合は、2台目以降のhome_pathとポートを明示し、 競合を避けます。

CoordinatorとDeployerの管理ポートにはhttp_admin_portを使用します。

BrokerとWarehouseには任意でdbs_pathを指定します。dbs_pathはノードがインストールされるサーバーの データファイルパスで、省略時はmachcoordinatoradmin --add-nodeのデフォルトDBS_PATH動作に従います。

既存のcluster.package.pathは後方互換入力として使用できますが、新しいYAMLではorigin_pathを使用します。

http_admin_portはCoordinatorとDeployerだけに使用します。Broker、Lookup、Warehouseには HTTPポートフィールドを指定しません。

作成後に妥当性を検査します。


YAMLの検証

cluster.yamlを実際のインストールに使用する前に妥当性を検査します。validateはYAML構文、必須値、 別名、ポート競合、トポロジーの関係を静的に検査します。

検証コマンド

machclusterctl validate -f cluster.yaml

検証項目

項目説明
YAML構文ファイルの解析エラー
環境変数の置換${VAR}または${VAR:-default}式を解釈できるか
必須フィールドクラスター名、ホスト、パッケージ、ノード別の必須値の欠落
別名ノード別名の重複
ポート競合同じホスト内の宣言ポートの競合
トポロジーPrimary Coordinator、Lookup master/monitor、Deployerの参照関係

出力例

Validation passed.

エラーがあれば、メッセージの項目を修正して再検証します。

インストール前の実行計画確認

新規インストール前にSSH接続、パッケージの存在、リモートディレクトリ権限まで確認するには、 install --dry-run --verboseを使用します。

machclusterctl install -f cluster.yaml --dry-run --verbose

インストール後の構成変更を検証する場合はapply --dry-runを使用します。現在のクラスター状態とYAMLの 差を計算して実行計画を表示し、実際のリモート変更は行いません。

machclusterctl apply -f cluster.yaml --dry-run --verbose

一般的なエラーと解決方法

エラー原因解決方法
field ... not found非サポートのYAMLキー現行スキーマのcluster.*項目に修正
required field ...必須値の欠落メッセージのフィールドを追加
duplicate aliasノード別名の重複全ノードの別名を一意に変更
port conflict同一ホストで同じポートを使用競合ポートを別に指定。ホームパスだけの変更では解決しない
deployer ... not foundLookup/Broker/Warehouseが存在しないDeployerを参照deployer値をDeployerの別名またはホスト:ポートに修正

初回インストール

cluster.yamlの作成と検証が完了したら、インストール計画を確認してクラスターをインストールします。

1. クラスターのインストール

各ノードへのパッケージ配布と初期化の前に、実行計画と事前検査の結果を確認します。

machclusterctl install -f cluster.yaml --dry-run --verbose

問題がなければ実際にインストールします。

machclusterctl install -f cluster.yaml --yes --verbose

このコマンドは次の処理を自動実行します。

  1. 各ノードへのパッケージコピーと展開
  2. 各ノードのmachbase.conf作成とポート設定
  3. Coordinatorデータベースの初期化
  4. ノード登録(Coordinatorに各ノードを追加)

2. クラスターの起動

installはCoordinator、Deployer、Lookup、Broker、Warehouseを準備して起動します。 インストール後にクラスター全体を再起動する必要がある場合だけ、次のコマンドを使用します。

machclusterctl start

3. 状態確認

export MACHBASE_COORDINATOR_HOME=/home/machbase/coordinator
machclusterctl status

1台のサーバーで複数のCoordinatorホームを切り替えて確認する場合は、直接指定します。

machclusterctl status --coordinator /home/machbase/coordinator

出力はmachcoordinatoradmin --cluster-status-full --verbose形式です。以下は出力列を示す一部の行の例で、 YAMLの全ノード一覧ではありません。CoordinatorとBrokerはprimaryleaderなど役割別の状態を取るため、 全行がnormalかではなく、登録ノード数と役割別の目標・実際の状態が一致するかを確認します。

+-------------+--------------------------------+--------------------------------+--------------------------------+-------------------------------+-------------+-----------------+----------+
|  Node Type  |           Node Name            |           Group Name           |           Group State          |    Desired & Actual State     |  RP State   | Disk(%) (00/00) | Ping(μs) |
+-------------+--------------------------------+--------------------------------+--------------------------------+-------------------------------+-------------+-----------------+----------+
| coordinator | coord-1(192.168.1.10:5101)     | Coordinator                    | normal                         | primary       | primary       | ----------- | --------------- |      214 |
| deployer    | deployer-1(192.168.1.10:5201)  | Deployer                       | normal                         | running       | running       | ----------- | --------------- |      100 |
| broker      | broker-1(192.168.1.11:5401)    | Broker                         | normal                         | leader        | leader        | ----------- | --------------- |      100 |
| warehouse   | wh-g1-1(192.168.1.13:5501)     | group1                         | normal                         | normal        | normal        | running     | 26.9            |      100 |
+-------------+--------------------------------+--------------------------------+--------------------------------+-------------------------------+-------------+-----------------+----------+

4. クライアント接続テスト

BrokerノードのIPとポートに接続します。

machsql -s 192.168.1.11 -P 5656 -u SYS -p MANAGER
# Mach>

クラスターの終了

machclusterctl stop

インストール後の運用

初回インストールと接続検証後のノード構成変更、追加・削除、状態復旧は Cluster運用に従います。障害原因の分類と 復旧判断はClusterのトラブルシューティングを参照してください。

machcoordinatoradminによる手動デプロイ

machclusterctlを使用できない場合はCoordinatorとDeployerを直接準備し、パッケージとノードを登録します。 自動デプロイ済みの環境で以下の作成コマンドを再実行しないでください。手動例はYAMLとは別構成です。 役割別に実行場所を変えてコマンドを実行します。

ホスト役割
192.168.1.10Primary Coordinator、Deployer、Lookup master
192.168.1.11Deployer、Lookup monitor、Broker
192.168.1.13Deployer、Warehouse group1の最初のノード
192.168.1.14Deployer、Warehouse group1のレプリカノード
192.168.1.20任意のSecondary Coordinator

同一ホストの役割ごとにホームとポートを分けます。Deployerはデータ処理ノードをインストールする各ホストで 準備し、以下の--deployerアドレスも対象ホストに合わせます。

手動デプロイの手順

  1. パッケージの準備と登録 — 完全パッケージのインストールと軽量パッケージの登録準備
  2. Coordinator / Deployerのインストール — 主要な管理ノードを起動
  3. パッケージ登録 — 稼働中のCoordinatorへ軽量パッケージを登録
  4. Lookup / Broker / Warehouseのインストール — データ処理ノードを登録・起動
  5. 全体状態の確認 — 登録・起動後の初回状態検証

machclusterctlとの違い

項目machclusterctl手動デプロイ
設定方式cluster.yamlの単一ファイル各ノードのmachbase.confを直接編集
パッケージ配布自動リモートコピーCoordinator/Deployerは直接インストール、Broker/WarehouseはDeployerが配布
ノード登録自動machcoordinatoradmin --add-nodeを手動実行
一括起動・終了machclusterctl start/stopノードごとに個別実行

手動デプロイは柔軟ですが、ミスの可能性も高くなります。新規構築にはmachclusterctlを推奨します。


パッケージの準備と登録

Cluster Editionの手動デプロイでのパッケージ準備・登録手順です。CoordinatorとDeployerには完全パッケージを インストールして環境変数を設定します。BrokerとWarehouse用の軽量パッケージはCoordinatorの起動後に登録します。

パッケージの種類

Cluster Editionには2種類のパッケージがあります。

パッケージ対象ノード特徴
完全パッケージCoordinator、Deployer全実行ファイルを含む
軽量パッケージ(lightweight)Broker、Warehouseデータ処理に必要なファイルだけを含み、小容量

ファイル名の例:

  • 完全: machbase-cluster-8.7.0.official-LINUX-X86-64-release.tgz
  • 軽量: machbase-cluster-8.7.0.official-LINUX-X86-64-release-lightweight.tgz

CoordinatorとDeployerへのパッケージ配布

完全パッケージをCoordinatorとDeployerノードにコピーして展開します。

Coordinatorノード
# Coordinatorノードで実行
mkdir -p /home/machbase/coordinator
scp machbase@package-host:/path/to/machbase-cluster-8.7.0.official-LINUX-X86-64-release.tgz /home/machbase/
tar zxf /home/machbase/machbase-cluster-8.7.0.official-LINUX-X86-64-release.tgz -C /home/machbase/coordinator
Deployerノード
mkdir -p /home/machbase/deployer
scp machbase@package-host:/path/to/machbase-cluster-8.7.0.official-LINUX-X86-64-release.tgz /home/machbase/
tar zxf /home/machbase/machbase-cluster-8.7.0.official-LINUX-X86-64-release.tgz -C /home/machbase/deployer

この段階ではBrokerとWarehouseへ軽量パッケージを直接展開しません。Coordinatorへ軽量パッケージを登録すると、 後で--add-nodeで指定したDeployerが対象ノードの--home-pathへパッケージを配布します。

Coordinatorへのパッケージ登録

CoordinatorからBrokerとWarehouseを起動するには、Coordinatorへの軽量パッケージ登録が必要です。 CoordinatorとDeployerをインストールし、Coordinatorが稼働中の状態で次のコマンドを実行します。

$MACHBASE_COORDINATOR_HOME/bin/machcoordinatoradmin --add-package=machbase \
  --file-name="/home/machbase/machbase-cluster-8.7.0.official-LINUX-X86-64-release-lightweight.tgz"

登録したパッケージは、後でBrokerとWarehouseを--add-nodeで登録する際に--package-name=machbaseで 参照します。

環境変数の設定

package-host/path/to/は実際のパッケージ保存場所に置き換えます。CoordinatorとDeployerを同じホストで 管理する場合も、別々のシェルで役割に合う環境を使用します。以下は各シェルに適用する値で、サービスや ログイン初期化ファイルにも同じ値を反映します。

# Coordinatorノード
export MACHBASE_COORDINATOR_HOME=/home/machbase/coordinator
export MACHBASE_HOME=$MACHBASE_COORDINATOR_HOME
export PATH=$MACHBASE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$MACHBASE_HOME/lib:$LD_LIBRARY_PATH
# 別のDeployer管理シェル
export MACHBASE_DEPLOYER_HOME=/home/machbase/deployer
export MACHBASE_HOME=$MACHBASE_DEPLOYER_HOME
export PATH="$MACHBASE_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$MACHBASE_HOME/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"

Coordinator / Deployerのインストール

パッケージ配布後、Coordinatorを先にインストール・起動してからDeployerを登録します。

Coordinatorのインストール

1. machbase.confの設定

$MACHBASE_COORDINATOR_HOME/conf/machbase.confを編集します。

vi $MACHBASE_COORDINATOR_HOME/conf/machbase.conf

主な設定:

CLUSTER_LINK_HOST    = 192.168.1.10   # このノードのIP
CLUSTER_LINK_PORT_NO = 5101
HTTP_ADMIN_PORT      = 5102
2. メタデータベースの作成とサービス起動
machcoordinatoradmin -c
machcoordinatoradmin -u
3. 自身をCoordinatorノードとして登録
machcoordinatoradmin --add-node="192.168.1.10:5101" \
  --node-type=coordinator \
  --http-admin-port=5102
4. 登録の確認
machcoordinatoradmin --cluster-status

Secondary Coordinatorのインストール(任意)

高可用性のためSecondary Coordinatorを追加します。

Secondaryノードにパッケージを配布してmachbase.confを設定し、先にPrimary Coordinatorでノードを 登録します。

# Primary Coordinatorで先に登録
machcoordinatoradmin --add-node="192.168.1.20:5101" \
  --node-type=coordinator \
  --http-admin-port=5102

# 次にSecondaryノードで起動(--primaryでPrimaryを指定)
machcoordinatoradmin -u --primary=192.168.1.10:5101

Secondaryの起動前に、必ずPrimaryでノード登録を完了する必要があります。

Deployerのインストール

手動構成表の各Deployerホストでこの手順を行います。以下の設定のCLUSTER_LINK_HOSTは、そのホスト自身の IPに置き換えます。他ホストのアドレスをそのままコピーすると、ノードの通信アドレスと実際の実行場所が 異なってしまいます。

1. machbase.confの設定
CLUSTER_LINK_HOST    = 192.168.1.10   # DeployerノードのIP
CLUSTER_LINK_PORT_NO = 5201
HTTP_ADMIN_PORT      = 5202
2. 起動
machdeployeradmin -c
machdeployeradmin -u
3. CoordinatorへのDeployerノード登録

全Deployerが起動したら、Primary Coordinatorの管理シェルで登録します。

machcoordinatoradmin --add-node="192.168.1.10:5201" \
  --node-type=deployer \
  --http-admin-port=5202

machcoordinatoradmin --add-node="192.168.1.11:5201" \
  --node-type=deployer --http-admin-port=5202
machcoordinatoradmin --add-node="192.168.1.13:5201" \
  --node-type=deployer --http-admin-port=5202
machcoordinatoradmin --add-node="192.168.1.14:5201" \
  --node-type=deployer --http-admin-port=5202

Lookup / Broker / Warehouseのインストール

CoordinatorとDeployerの準備後、Lookup、Broker、WarehouseをCoordinatorに登録して起動します。 BrokerとWarehouseの登録前に、軽量パッケージをCoordinatorへ--add-packageで登録する必要があります。

Lookupノード

Lookup masterとmonitorをそれぞれ登録して起動します。次の例はPrimaryホストとBrokerホストへ配置し、 各ホストのDeployerを使用します。同じホームが既存のLookupで使用中でないことを確認します。

machcoordinatoradmin --add-node="192.168.1.10:5301" \
  --node-type=lookup \
  --lookup-type=master \
  --deployer="192.168.1.10:5201" \
  --home-path="/home/machbase/lookup"

machcoordinatoradmin --add-node="192.168.1.11:5301" \
  --node-type=lookup \
  --lookup-type=monitor \
  --deployer="192.168.1.11:5201" \
  --home-path="/home/machbase/lookup"

machcoordinatoradmin --startup-node="192.168.1.10:5301"
machcoordinatoradmin --startup-node="192.168.1.11:5301"

Brokerのインストール

1. 登録パラメーターの確認

Broker設定ファイルは--add-node時に生成され、Deployer経由で対象ノードへ配布されます。 登録前にクラスター通信ポートとサービスポートを確定します。BrokerにHTTP管理ポートは指定しません。

CLUSTER_LINK_HOST    = 192.168.1.11   # BrokerノードのIP
CLUSTER_LINK_PORT_NO = 5401
PORT_NO              = 5656           # クライアント 接続ポート
2. Coordinatorへのノード登録

Coordinatorノードで実行します。

machcoordinatoradmin --add-node="192.168.1.11:5401" \
  --node-type=broker \
  --deployer="192.168.1.11:5201" \
  --package-name=machbase \
  --home-path="/home/machbase/broker" \
  --dbs-path="/data/machbase/broker_dbs" \
  --port-no=5656
パラメーター説明
--add-node登録するノードのIP:CLUSTER_LINK_PORT_NO
--node-typebroker / warehouse / lookup
--deployerそのノードをインストール・制御するDeployerのIP:CLUSTER_LINK_PORT_NO
--package-nameCoordinatorに登録したパッケージ名
--home-pathノードのホームディレクトリ
--dbs-pathBroker/Warehouseのデータファイルパス。省略時はデフォルトDBS_PATH
--port-noクライアントまたはノードのサービスポート
--replicationWarehouseのレプリケーション管理アドレス。host:port形式
3. ノードの起動

Coordinatorで該当ノードを起動します。

machcoordinatoradmin --startup-node="192.168.1.11:5401"

Warehouseのインストール

Warehouseノードはグループ単位で構成します。同じグループ内のノード間でデータを複製します。

1. 登録パラメーターの確認

Warehouse設定ファイルは--add-node時に生成され、Deployer経由で対象ノードへ配布されます。 登録前にクラスター通信ポート、サービスポート、レプリケーション管理アドレスを確定します。

CLUSTER_LINK_HOST    = 192.168.1.13
CLUSTER_LINK_PORT_NO = 5501
PORT_NO              = 5500
2. ノードの登録
machcoordinatoradmin --add-node="192.168.1.13:5501" \
  --node-type=warehouse \
  --deployer="192.168.1.13:5201" \
  --package-name=machbase \
  --home-path="/home/machbase/warehouse_g1_1" \
  --dbs-path="/data/machbase/warehouse_g1_1_dbs" \
  --port-no=5500 \
  --replication=192.168.1.13:5502 \
  --group=group1 \
  --no-replicate

machcoordinatoradmin --add-node="192.168.1.14:5501" \
  --node-type=warehouse \
  --deployer="192.168.1.14:5201" \
  --package-name=machbase \
  --home-path="/home/machbase/warehouse_g1_2" \
  --dbs-path="/data/machbase/warehouse_g1_2_dbs" \
  --port-no=5500 \
  --replication=192.168.1.14:5502 \
  --group=group1

別途--add-groupコマンドは使用しません。Warehouseグループ名は各Warehouseノードの登録時に --groupで指定します。

3. ノードの起動
machcoordinatoradmin --startup-node="192.168.1.13:5501"
machcoordinatoradmin --startup-node="192.168.1.14:5501"

全体状態の確認

全ノードの登録後に状態を確認します。

machcoordinatoradmin --cluster-status

Coordinator、Lookup、Broker、Warehouseが各役割に合う正常状態で表示されれば、クラスターは正常に 稼働しています。Coordinatorはprimary、Brokerはleader、Warehouseはnormalsync-activesync-standbyなどで表示されます。

初回接続の確認

Brokerのネイティブポートに接続し、SELECT CURRENT_DATABASE();とサンプル検索を実行します。 初回インストール検証後の個別ノードの起動・終了と状態復旧は Cluster運用Clusterのトラブルシューティングを使用してください。

最終更新日