OceanBaseデータベースはV4.1バージョンからアービトレーションサービス(Arbitration Service)をサポートしており、2リージョン3データセンター構成において、同一リージョン内のレプリカ障害時のRT増大問題を解決するだけでなく、異リージョン間の帯域幅コストを削減し、第3データセンターのコストを極めて低く抑えることができます。
このセクションでは、コマンドラインを使用して、2台のマシンで構成されるOceanBaseクラスタとアービトレーションサービスを1つデプロイする方法について説明します。
説明
- 単一のOceanBaseクラスタは最大で1つのアービトレーションサービスのみを使用できます。
- アービトレーションサービスは現在、単一マシン構成のみをサポートしています。
前提条件
OceanBaseデータベースをインストールする前に、以下の情報を確認してください。
- OBServerサーバーの関連設定が完了していること。詳細については、サーバー設定、(オプション)時刻源の設定、oatcliを使用したOBServerサーバーの初期化を参照してください。
- OBServerサーバーに
adminユーザーが作成されていること。 - OceanBaseデータベースのRPMパッケージを取得済みであること。詳細については、インストールパッケージの準備を参照してください。
手順
ステップ1:OceanBaseクラスタのデプロイ
2台のOBServerサーバーにRPMパッケージをそれぞれインストールします。
OceanBaseデータベースのRPMパッケージをインストールします。
OceanBaseデータベースのRPMパッケージが保存されているディレクトリに移動します:
[root@xxx /]# cd $rpm_dirOceanBaseデータベースのRPMパッケージをインストールします:
[root@xxx $rpm_dir]# rpm -ivh $rpm_name [--prefix=/home/admin/oceanbase]ここで、
$rpm_dirはRPMパッケージが保存されているディレクトリを表し、$rpm_nameはRPMパッケージの名前を表します。説明
OceanBaseデータベースソフトウェアは、デフォルトで
/home/admin/oceanbaseディレクトリにインストールされます。例:
[root@xxx /home/admin/rpm]# rpm -ivh oceanbase-4.2.0.0-100000052023073123.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:oceanbase-4.2.0.0-100000052023073################################# [100%](オプション)OceanBaseクライアントをインストールします。
OceanBaseクライアントOBClientは、OceanBaseデータベース専用のコマンドラインクライアントツールです。OBClientを使用すると、OceanBaseデータベースのMySQLテナントおよびOracleテナントに接続できます。OceanBaseデータベースのMySQLテナントにのみ接続する場合は、MySQLクライアント(mysql)を使用してOceanBaseデータベースに接続することもできます。
注意
obclientV2.2.1 より前のバージョンはlibobclientに依存しているため、libobclientを先にインストールする必要があります。テクニカルサポートにお問い合わせいただき、OBClient RPMパッケージとlibobclient RPMパッケージを取得してください。例:
[root@xxx /home/admin/rpm]# rpm -ivh obclient-2.2.1-20221122151945.el7.alios7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:obclient-2.2.1-20221122151945.el7################################# [100%]インストールが成功したかどうか確認します:
[root@xxx /home/admin/rpm]# which obclient /usr/bin/obclient
observerプロセスのディレクトリを設定します。
(オプション)ディレクトリをクリーンアップします。
新しいマシンに初めてOceanBaseデータベースをデプロイする場合は、ディレクトリをクリーンアップする必要はありません。
以下の場合は、古いOceanBaseディレクトリを直接クリーンアップすることを選択します:
* 以前のOceanBase環境をクリーンアップします。
* OceanBaseのインストール・デプロイメント中に問題が発生し、環境が乱れたり、ファイルが次回のインストールに影響を与えた場合。
```shell
[root@xxx /home/admin]# kill -9 `pidof observer`
[root@xxx /home/admin]# rm -rf /data/1/$cluster_name
[root@xxx /home/admin]# rm -rf /data/log1/$cluster_name
[root@xxx /home/admin]# rm -rf /home/admin/oceanbase/store/$cluster_name
[root@xxx /home/admin]# rm -rf /home/admin/oceanbase/log/* /home/admin/oceanbase/etc/*config*
```
ここで、`$cluster_name` はクラスタ名です。
**例:**
```shell
[root@xxx /home/admin]# kill -9 `pidof observer`
[root@xxx /home/admin]# rm -rf /data/1/obdemo
[root@xxx /home/admin]# rm -rf /data/log1/obdemo
[root@xxx /home/admin]# rm -rf /home/admin/oceanbase/store/obdemo
[root@xxx /home/admin]# rm -rf /home/admin/oceanbase/log/* /home/admin/oceanbase/etc/*config*
```
OceanBaseディレクトリを初期化します。
OceanBaseのデータディレクトリは通常、独立したディスクに配置することを推奨し、その後、ソフトリンクを使用してソフトウェアのホームディレクトリにリンクします。
説明
OceanBaseデータベースでは、
slogをデータ(data)ディスクから分離することをサポートしています。つまり、slogとデータファイルは同じディスクに存在する必要はありません。使用するディスクを設定し、slogとclogでSSDハードドライブを共有することも可能です。OceanBaseデータベースのインストールディレクトリに関する詳細情報については、OBServerノードのインストールディレクトリ構造を参照してください。以下のステートメントを使用して
adminユーザーに切り替えます:[root@xxx /home/admin]# su - adminadminユーザーを使用して以下のコマンドを実行し、関連ディレクトリを作成します:mkdir -p /data/1/$cluster_name/{etc3,sstable,slog}mkdir -p /data/log1/$cluster_name/{clog,etc2}mkdir -p /home/admin/oceanbase/store/$cluster_nameadminユーザーを使用して以下のコマンドを実行し、ソフトリンクを作成します:for t in {etc3,sstable,slog};do ln -s /data/1/$cluster_name/$t /home/admin/oceanbase/store/$cluster_name/$t; donefor t in {clog,etc2};do ln -s /data/log1/$cluster_name/$t /home/admin/oceanbase/store/$cluster_name/$t; doneここで、
$cluster_nameはクラスタ名です。例:
[root@xxx /home/admin]# su - admin -bash-4.2$ mkdir -p /data/1/obdemo/{etc3,sstable,slog} -bash-4.2$ mkdir -p /data/log1/obdemo/{clog,etc2} -bash-4.2$ mkdir -p /home/admin/oceanbase/store/obdemo -bash-4.2$ for t in {etc3,sstable,slog};do ln -s /data/1/obdemo/$t /home/admin/oceanbase/store/obdemo/$t; done -bash-4.2$ for t in {clog,etc2};do ln -s /data/log1/obdemo/$t /home/admin/oceanbase/store/obdemo/$t; done説明
obdemoはクラスタ名を使用して作成されるディレクトリで、カスタマイズ可能です。プロセス起動時に使用されます。検査結果:
-bash-4.2$ cd /home/admin/oceanbase -bash-4.2$ tree store/ store/ `-- obdemo |-- clog -> /data/log1/obdemo/clog |-- etc2 -> /data/log1/obdemo/etc2 |-- etc3 -> /data/1/obdemo/etc3 |-- slog -> /data/1/obdemo/slog `-- sstable -> /data/1/obdemo/sstable 6 directories, 0 filesOceanBaseクラスタを初期化します。
説明
- 例示されているIPアドレスはマスキング処理されています。これはインストール要件ではありません。デプロイ時には、ご自身のマシンの実際のIPアドレスを記入してください。
- OceanBaseデータベースは、指定されたIPv4またはIPv6アドレスのサーバー上でobserverプロセスを起動できます。このドキュメントの例は、IPv4アドレスでobserverプロセスを起動する方法を示しています。IPv6アドレスでobserverプロセスを起動する方法については、コマンドラインを使用した単一レプリカOceanBaseクラスタのデプロイを参照してください。
observerプロセスを起動します。
各ノードの
adminユーザーとして、observerプロセスを起動します。注意
2つのレプリカの場合、各ノードの起動パラメータは完全に同じではありません。observerを起動する際には、Root Serviceが配置されている2台(または複数台)のマシンを指定するだけでよく、クラスタ作成時にすべてのマシンを指定する必要はありません。クラスタ作成後に新しいマシンを追加することも可能です。
cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer {-I $ip | -i $devname} -P $rpc_port -p $sql_port -z $zone_name -d /home/admin/oceanbase/store/$cluster_name -r '$ip:2882:2881' -c $cluster_id -n $cluster_name -o "system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/$cluster_name/etc3;/data/log1/$cluster_name/etc2"パラメータの説明:
パラメータ説明-I|-i-I:起動対象ノードのIPアドレスを指定します。複数マシンデプロイメントの場合、ターゲットIPとして127.0.0.1を指定することはできません。ノード起動には、特定のIP(例:-I 10.10.10.1)の指定を推奨します。-i:ネットワークインターフェースカードの名前を指定します。ifconfigコマンドで確認できます。
説明
IPとネットワークインターフェースカードの名前を同時に指定する(例:
-I 10.10.10.1 -i eth0)ことも可能ですが、この方法は推奨されません。-pサーバー側ポート番号を指定します。通常は 2881を指定します。-PRPCポート番号を指定します。通常は 2882を指定します。-nクラスタ名を指定します。カスタマイズ可能で、異なるクラスタ間で重複しないようにしてください。 -z起動するobserverプロセスが属するZoneを指定します。 -dクラスタのホームディレクトリを指定します。ディレクトリの初期化時に作成されるディレクトリです。クラスタ名 $cluster_name以外は変更しないでください。-cクラスタIDを指定します。一連の数字で、カスタマイズ可能です。異なるクラスタ間で重複しないようにしてください。 -lログレベルを指定します。 -rRSリストを指定します。形式は $ip:2882:2881で、セミコロン区切りで、Root Service情報を表します。-oクラスタ起動パラメータ(構成パラメータ)リストを指定します。オプションです。複数のパラメータに値を指定でき、複数の値は半角カンマで区切ります。実際のニーズに応じて適切な起動パラメータを選択し、各パラメータに適切な値を指定することで、クラスタのパフォーマンスとリソース利用率を最適化します。以下は一般的なクラスタ起動構成パラメータです: - cpu_count:システムCPUの総数を設定します。
- system_memory:システムがテナントID
500のテナント用に予約するメモリ容量、つまりOceanBaseデータベース内部で予約するメモリを設定します。マシンのメモリが少ない場合、この値を小さくすることも検討できますが、パフォーマンステスト時にメモリ不足が発生する可能性があるため注意してください。 - memory_limit:利用可能なメモリサイズの合計を設定します。
- datafile_size:データファイルが占有するディスクの利用可能な領域のサイズを設定します。つまり、OceanBaseデータベースのデータファイル
sstableのサイズ(一度の初期化)を指定します。/data/1/の利用可能な領域から判断すると、100G以上を推奨します。 - datafile_disk_percentage:ディスク上のデータファイルがディスク全体の容量に占める割合。
- datafile_next:ディスク上のデータファイルの自動拡張のステップサイズを設定します。
- datafile_maxsize:ディスク上のデータファイルの自動拡張の最大容量を設定します。
- config_additional_dir:設定ファイルをローカルに保存する複数のディレクトリを設定し、冗長化のため複数の設定ファイルを保存します。
- log_disk_size:Redoログディスクのサイズを設定します。
- log_disk_percentage:Redoログがその配置ディスクの総容量に占める割合を設定します。
- syslog_level:システムログレベルを設定します。
- syslog_io_bandwidth_limit:システムログが占用できるディスクI/O帯域幅の上限を設定します。帯域幅の上限を超えるシステムログは破棄されます。
- max_syslog_file_count:ログファイルの回収前に保持できるログファイルの数を設定します。
- enable_syslog_recycle:OBServerノード起動前の古いログを記録するスイッチを有効にするかどうかを設定します。
max_syslog_file_countと組み合わせて使用し、回収ロジックが古いログファイルを考慮するかどうかを決定します。
datafile_size、datafile_disk_percentage、datafile_nextおよびdatafile_maxsizeを組み合わせて使用することで、ディスク上のデータファイルの自動拡張を実現できます。詳細については、ディスク上のデータファイルの動的拡張の設定を参照してください。その他のクラスタ設定情報については、構成パラメータ一覧 - クラスタレベル構成パラメータを参照してください。例:
OBServerサーバーでobserverプロセスを起動します。
10.10.10.1と10.10.10.2を例に、observerプロセスを起動します。zone1:
[root@xxx admin]# su - admin -bash-4.2$ cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -I 10.10.10.1 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r '10.10.10.1:2882:2881;10.10.10.2:2882:2881' -c 10001 -n obdemo -o "system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"zone2:
[root@xxx admin]# su - admin -bash-4.2$ cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -I 10.10.10.2 -P 2882 -p 2881 -z zone2 -d /home/admin/oceanbase/store/obdemo -r '10.10.10.1:2882:2881;10.10.10.2:2882:2881' -c 10001 -n obdemo -o "system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"以下のコマンドを実行して、observerプロセスが正常に起動したかどうか確認できます。
netstat -ntlpコマンド。2881および2882ポートがリッスンされている場合、プロセスは正常に起動しています。ps -ef|grep observerコマンドでobserverプロセスの情報を確認できます。
例:
-bash-4.2$ netstat -ntlp (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:2881 0.0.0.0:* LISTEN 11112/observer tcp 0 0 0.0.0.0:2882 0.0.0.0:* LISTEN 11112/observer ... ... ... ... ... ... -bash-4.2$ ps -ef|grep observer admin 11112 0 40 16:18 ? 00:00:17 /home/admin/oceanbase/bin/observer -I 10.10.10.1 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r 10.10.10.1:2882:2881;10.10.10.2:2882:2881 -c 10001 -n obdemo -o system_memory=30G,datafile_size=500G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2クラスタのブートストラップ操作
OBClientコマンドを使用して任意のノードに接続します。パスワードは空です。
[root@xxx admin]# obclient -h127.0.0.1 -uroot -P2881 -p****** obclient [(none)]> SET SESSION ob_query_timeout=1000000000; Query OK, 0 rows affected obclient [(none)]> ALTER SYSTEM BOOTSTRAP ZONE 'zone1' SERVER '10.10.10.1:2882',ZONE 'zone2' SERVER '10.10.10.2:2882'; Query OK, 0 rows affected注意
このステップでエラーが発生した場合、その原因は観察者プロセスの起動パラメータが間違っている、observer関連ディレクトリの権限が間違っている、ログディレクトリの空き容量が一定の割合に満たない(データディレクトリと大きなディレクトリを共有しており、容量がデータディレクトリによって占有されている)、ノードの時刻が同期されていない、ノードのメモリリソースが不足しているなどが考えられます。これらの問題を調査した上で、OceanBaseディレクトリをクリーンアップして最初からデプロイしてください。
クラスタの初期化が成功したことを検証する
クラスタのブートストラップ初期化操作が完了した後、
SHOW DATABASES;コマンドを実行して検証します。クエリ結果にデータベースリストにoceanbaseデータベースが存在する場合、クラスタの初期化が成功したことを確認できます。パスワードを変更する
sysテナントのrootユーザーパスワードはデフォルトで空です。初期化が成功した後、パスワードを変更してください。ALTER USER root IDENTIFIED BY '******';
ステップ2:アービトレーションサービスのデプロイ
アービトレーションサーバーにOceanBase RPMパッケージをインストールします。
OceanBaseデータベースRPMパッケージが保存されているディレクトリに移動します:
[root@xxx /]# cd $rpm_dirOceanBaseデータベースRPMパッケージをインストールします:
[root@xxx $rpm_dir]# rpm -ivh $rpm_name [--prefix=/home/admin/oceanbase]ここで、
$rpm_dirはRPMパッケージが保存されているディレクトリを表し、$rpm_nameはRPMパッケージの名前を表します。説明
OceanBaseデータベースソフトウェアは、デフォルトで
/home/admin/oceanbaseディレクトリにインストールされます。例:
[root@xxx /home/admin/rpm]# rpm -ivh oceanbase-4.2.0.0-100000052023073123.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:oceanbase-4.2.0.0-100000052023073################################# [100%]アービトレーションサーバープロセスのディレクトリを設定します。
アービトレーションサーバーに、アービトレーションサーバープロセスの
clogディレクトリを作成します。説明
- アービトレーションサーバープロセスを起動する際に、
-dで指定したstoreディレクトリには、事前にclogディレクトリを作成しておく必要があります。 storeディレクトリが配置されているディスク容量が満杯になるのを避けてください。満杯になるとアービトレーションサーバーの機能に異常が発生する可能性があります。
以下のコマンドを使用して
adminユーザーに切り替えます:[root@xxx /home/admin]# su - adminadminユーザーとして、以下のコマンドを実行して関連ディレクトリを作成します:mkdir -p /home/admin/oceanbase/store/clog- アービトレーションサーバープロセスを起動する際に、
アービトレーションサーバープロセスを起動します。
アービトレーションサーバーの
adminユーザーとして、アービトレーションモードでアービトレーションサーバープロセスを起動し、必要な起動パラメータを指定します。起動ステートメントは以下のとおりです:cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -m arbitration -P $rpc_port -d $obdir/store [{-I $ip | -i $devname}] [-l $log_level] [-o "parameters_list"]パラメータの説明:
パラメータ説明-mアービトレーションモードを指定します。値は arbitrationです。-PアービトレーションサーバープロセスのRPCポート番号を指定します。通常は 2882を指定します。-dストレージディレクトリパスを指定します。通常は /home/admin/oceanbase/storeです。このディレクトリにclogサブディレクトリが作成されていることを確認してください。-I|-iオプション。 -I:起動するノードのIPアドレスを指定します。-i:ネットワークインターフェースカードの名前を指定します。ifconfigコマンドで確認できます。
説明
IPアドレスとネットワークインターフェースカードの名前を同時に指定する(例:
-I 10.10.10.1 -i eth0)ことでノードを起動できますが、この方法は推奨されません。-lログレベルを指定します。オプションです。デフォルト値は WDIAGです。取り得る範囲:{DEBUG,TRACE,WDIAG,EDIAG,INFO,WARN,ERROR}。ログの詳細については、ログレベルを参照してください。-o構成パラメータのリストを指定します。オプションです。複数の構成パラメータに値を指定でき、値は半角カンマで区切ります。以下はアービトレーションサーバープロセスを起動する際によく使用されるパラメータです: - cpu_count
- system_memory </ li>
- memory_limit </ li>
- __easy_memory_limit </ li>
- log_disk_size </ li>
- log_disk_percentage </ li>
- syslog_level </ li>
- syslog_io_bandwidth_limit </ li>
- max_syslog_file_count </ li>
- enable_syslog_recycle </ li>
注意
アービトレーションノードのログディレクトリが自動的にクリーンアップされ、ディスクが満杯になるのを防ぐためには、
enable_syslog_recycleをTrueに設定し、max_syslog_file_countを有効な値に設定する必要があります。そうしない場合、ログファイルが次第に増大し、ディスク容量が使い果たされる可能性があります。例:
アービトレーションサーバー内でアービトレーションサーバープロセスを起動します。
10.10.10.3を例に、アービトレーションサーバープロセスを起動します。-bash-4.2$ cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer -m arbitration -P 2882 -d /home/admin/oceanbase/store -I 10.10.10.3 -o "enable_syslog_recycle=True,max_syslog_file_count=100"以下のコマンドで、observer プロセスが正常に起動したかどうかを確認できます:
netstat -ntlpコマンド。2882ポートがリッスンしていれば、プロセスは正常に起動したことを意味します。ps -ef|grep observerコマンドは、observer プロセスの情報を返します。
例:
-bash-4.2$ netstat -ntlp (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:2882 0.0.0.0:* LISTEN 18231/observer ... -bash-4.2$ ps -ef|grep observer admin 18231 0 3 10:33 ? 00:00:00 /home/admin/oceanbase/bin/observer -m arbitration -P 2882 -d /home/admin/oceanbase/store -I 10.10.10.3 ...
ステップ3:クラスタにアービトレーションサービスを追加する
クラスタにアービトレーションサービスを追加するコマンドは以下のとおりです:
ALTER SYSTEM ADD ARBITRATION SERVICE "$arb_server_ip:$arb_server_port";
説明
アービトレーションサーバープロセスのアドレスは、sys テナントの内部テーブルに記録されます。ビュー DBA_OB_ARBITRATION_SERVICE で確認できます。この操作は同期操作です。
例:
obclient [(none)]> ALTER SYSTEM ADD ARBITRATION SERVICE "10.10.10.3:2882";
Query OK, 0 rows affected
obclient [(none)]> SELECT * FROM oceanbase.DBA_OB_ARBITRATION_SERVICE;
+---------------------+---------------------+-------------------------+---------------------+------------------------------+------+
| CREATE_TIME | MODIFY_TIME | ARBITRATION_SERVICE_KEY | ARBITRATION_SERVICE | PREVIOUS_ARBITRATION_SERVICE | TYPE |
+---------------------+---------------------+-------------------------+---------------------+------------------------------+------+
| 2023-03-06 17:29:36 | 2023-03-06 17:29:36 | default | 10.10.10.3:2882 | NULL | ADDR |
+---------------------+---------------------+-------------------------+---------------------+------------------------------+------+
1 row in set
ステップ4:sysテナントのためにアービトレーションサービスを有効にする
テナント作成時にアービトレーションサービスを有効にすることも、後から有効にすることもできます。テナント作成時の詳細については、CREATE TENANTを参照してください。
テナント作成時にアービトレーションサービスを有効にしなかった場合でも、テナント作成後に有効にすることができます。
以下のステートメントを実行して、既存のテナントのアービトレーションサービスを有効にします。
ALTER TENANT $tenant_name [SET] enable_arbitration_service = true;
例:
クラスタのsysテナントのアービトレーションサービスを有効にします。
obclient [(none)]> ALTER TENANT sys SET enable_arbitration_service = true;
Query OK, 0 rows affected
ステップ5:テナントのアービトレーションサービス状態を確認する
テナントのアービトレーションサービスが有効かどうかを確認します。
ビュー
DBA_OB_TENANTSを使用してテナント情報を照会し、arbitration_service_status列を確認することで、アービトレーションサービスの有効状態を確認できます。arbitration_service_statusの取り得る値は次のとおりです:ENABLED:テナントのアービトレーションサービスが有効であることを示します。ENABLING:テナントのアービトレーションサービスが有効化中であることを示します。DISABLED:テナントのアービトレーションサービスが無効であることを示します。DISABLING:テナントのアービトレーションサービスが無効化中であることを示します。
例:
obclient [(none)]> SELECT TENANT_ID,TENANT_NAME,ARBITRATION_SERVICE_STATUS FROM oceanbase.DBA_OB_TENANTS WHERE tenant_name = 'sys'; +-----------+-------------+----------------------------+ | TENANT_ID | TENANT_NAME | ARBITRATION_SERVICE_STATUS | +-----------+-------------+----------------------------+ | 1 | sys | ENABLED | +-----------+-------------+----------------------------+ 1 row in set現在のアービトレーションサービスが利用可能かどうかを確認します。
テナントのアービトレーションサービスが正常に有効になると、そのテナントが有効化された時点で作成されたすべてのログストリームでアービトレーションサービスを利用できることになります。ただし、有効化後に新規作成されたログストリームは、ログストリームの作成が非厳密モードで実行されるため、アービトレーションサービスが必ずしも正常に作成されるとは限らない場合があります。このような場合、ユーザーは以下のSQLステートメントを使用して、当該テナントのすべてのログストリームにアービトレーションサービスが存在するかどうかを確認できます。
##テナント内でアービトレーションレプリカを持たないログストリームのリストを取得する## (SELECT distinct ls_id FROM GV$OB_LOG_STAT WHERE tenant_id = xxx) except (SELECT ls_id FROM GV$OB_LOG_STAT WHERE tenant_id = xxx and role = 'LEADER' and arbitration_member = "$arb_server_ip:$arb_server_port");例:
sysテナント内でアービトレーションレプリカを持たないログストリームのリストを照会した結果、空集合が返された場合、現在のテナントのアービトレーションサービスは利用可能な状態であることを示します。obclient [oceanbase]> (SELECT distinct ls_id FROM GV$OB_LOG_STAT WHERE tenant_id = 1) except (SELECT ls_id FROM GV$OB_LOG_STAT WHERE tenant_id = 1 and role = 'LEADER' and arbitration_member = "10.10.10.3:2882"); Empty set
次のステップ
クラスタ作成が完了したら、業務ニーズに応じてユーザーテナントを作成できます。
コマンドラインを使用してユーザーテナントを作成する詳細については、テナントの作成を参照してください。