このドキュメントでは、obshellのクラスタコマンドについて説明します。クラスタコマンドは、OceanBaseクラスタのデプロイおよび管理に使用できます。
コマンド実行時に -h/--help オプションを指定すると、そのコマンドのヘルプ情報を表示できます。また、タスク実行時にエラーが発生した場合、-v/--verbose オプションを指定すると、コマンドの詳細な実行過程を確認できます。
obshell cluster join
このコマンドを使用すると、現在のobshellを指定されたクラスタに追加できます(OceanBaseクラスタのinit前にこのコマンドを使用します)。
${home_path}/bin/obshell cluster join -z -s [-d] [-r] [-p] [-P] [-o] [-l]
# example
/home/admin/oceanbase/bin/obshell cluster join -z zone1 -s 10.10.10.1
home_pathはOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内のbinディレクトリに配置されています。
コマンドのオプション説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -z/--zone | はい | string | なし | ノード自身が属するZoneを設定します。 |
| -s/--server | はい | string | なし | 加入したいターゲットノードを設定します。形式は ip:port で、port は省略可能です。デフォルトは 2886 です。 |
| -d/--data_dir | いいえ | string | ${home_path}/store | SSTableなどのデータを格納するディレクトリを設定します。絶対パスを指定する必要があります。デフォルトは作業ディレクトリ(home_path)配下の store ディレクトリです。 |
| -r/--redo_dir | いいえ | string | ${data_dir} | clogデータを保存するディレクトリを設定します。絶対パスを指定する必要があります。デフォルトは --data_dir の値と同じです。 |
| -p/--mysql_port | いいえ | int | 2881 | SQLサービスプロトコルのポート番号を設定します。デフォルトは 2881 です。 |
| -P/--rpc_port | いいえ | int | 2882 | リモートアクセスプロトコルのポート番号を設定します。デフォルトは 2882 です。 |
| -o/--opt_str | いいえ | string | なし | OBServerノードのその他のパラメータを設定します。各パラメータは key=value の形式で、複数のパラメータは , で区切ります。-o全体はシングルクォートで囲む必要があります。例:-o 'memory_limit=16G,system_memory=8G,log_disk_size=24G,datafile_size=24G'。 |
| -l/--log_level | いいえ | string | なし | OBServerノードのログ出力レベルを設定します。 |
obshell cluster remove
このコマンドを使用すると、指定されたobshellをクラスタから削除できます(OceanBaseクラスタのinit前にこのコマンドを使用します)。
${home_path}/bin/obshell cluster remove -s [-y]
# example
/home/admin/oceanbase/bin/obshell cluster remove -s 10.10.10.1
home_pathはOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内のbinディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -s/--server | はい | string | なし | 削除対象ノードを指定します。形式は ip:port です。port は省略可能で、デフォルトは 2886 です。 |
| -y/--yes | いいえ | なし | なし | 2回目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
obshell cluster init
このコマンドを使用して、OceanBaseクラスタを初期化できます。
${home_path}/bin/obshell cluster init -n --rp [-i] [-d] [-r] [-p] [-P] [--rs] [-o] [-l] [--create_proxyro_user] [--proxyro_password]
# example
/home/admin/oceanbase/bin/obshell cluster init -n ob-test --rp ********
home_pathはOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内のbinディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -n/--cluster_name | はい | string | なし | 現在のOceanBaseクラスタの名前を設定します。 |
| --rp/--rootpassword | いいえ | string | なし | sysテナントのrootユーザーパスワードを設定します。 |
| -i/--cluster_id | いいえ | int | 1 | 現在のOceanBaseクラスタのIDを設定します。デフォルトは1です。 |
| -d/--data_dir | いいえ | string | ${home_path}/store | SSTableなどのデータを格納するディレクトリを設定します。絶対パスで指定する必要があります。デフォルトは作業ディレクトリ(home_path)配下のstoreディレクトリです。 |
| -r/--redo_dir | いいえ | string | ${data_dir} | clogデータを保存するディレクトリを設定します。絶対パスで指定する必要があります。デフォルトは--data_dirの値と同じです。 |
| -p/--mysql_port | いいえ | int | 2881 | SQLサービスプロトコルのポート番号を設定します。デフォルトは2881です。 |
| -P/--rpc_port | いいえ | int | 2882 | リモートアクセスプロトコルのポート番号を設定します。デフォルトは2882です。 |
| --rs/--rs_list | いいえ | string | なし | rs_listはRoot Serviceリストです。形式はobserver_ip:rpc_port:mysql_portで、各Root Serverは;で区切ります。--rs全体をシングルクォートで囲む必要があります。例:--rs '10.10.10.1:2882:2881;10.10.10.2:2882:2881'。 |
| --import_script | いいえ | bool | false | タイムゾーンデータとGISメタデータをシステムテナントにインポートするかどうかを制御します。値を指定する必要はありません。 |
| -o/--opt_str | いいえ | string | なし | OceanBaseクラスタのその他のパラメータを設定します。各構成パラメータの形式はkey=valueで、複数のパラメータは,で区切ります。-o全体をシングルクォートで囲む必要があります。例:-o 'memory_limit=16G,system_memory=8G,log_disk_size=24G,datafile_size=24G'。 |
| -l/--log_level | いいえ | string | なし | OceanBaseクラスタのログ出力レベルを設定します。 |
| --create_proxyro_user | いいえ | bool | false | sysテナント内にproxyroユーザーを作成し、対応する権限を設定するかどうかを制御します。値を指定する必要はありません。 |
| --proxyro_password | いいえ | string | なし | proxyroユーザーのパスワードを設定します。 |
obshell cluster show
このコマンドを使用すると、現在のクラスタ情報を表示できます。
${home_path}/bin/obshell cluster show [-d]
home_pathはOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内のbinディレクトリに配置されています。-d/--show_detailはオプションで、クラスタの詳細情報を表示するかどうかを制御します。値を指定する必要はありません。
OceanBaseクラスタの状態によって、このコマンドの出力は以下の2つの場合があります:
OceanBaseクラスタが初期化されていない場合、IPアドレス、バージョン、ポートなど、obshellに関連する情報のみが表示されます。
OceanBaseクラスタの初期化が完了した場合、obshellとOceanBaseデータベースの情報が表示されます。OceanBaseデータベースの情報には、cluster、version、zone、sql_port、svr_port、root_server、statusが含まれます。
statusの状態は以下のとおりです:
ACTIVE:OBServerノードとRoot Serviceのハートビートが正常です。INACTIVE:OBServerノードとRoot Serviceのハートビートが途絶えました。DELETING:OBServerノードが削除中です。STOPPED:OBServerノードが停止しました。
obshell cluster start
このコマンドを使用すると、指定された範囲内のOBServerノードを起動したり、OceanBaseクラスタをオーバープロンプトしたりできます。このコマンドで指定範囲のOBServerノードを起動する場合、その時点でのOceanBaseクラスタはすでにobshellによって完全に運用・管理されている必要があります。
クラスタがobshellによって管理されているかどうかの判断方法、およびobshellを使用してOceanBaseクラスタをオーバープロンプトする方法の詳細については、非obshellデプロイメントクラスタのオーバープロンプトを参照してください。OBServerノードを起動する具体的なユースケースについては、OceanBaseクラスタの起動を参照してください。
${home_path}/bin/obshell cluster start [-a] [-s] [-z] [-i] [-y] [--ssh_user] [--ssh_port] [--user_password] [--key_file] [--key_passphrase]
# example
/home/admin/oceanbase/bin/obshell cluster start -s 10.10.10.1:2886,10.10.10.2:2886
home_path はOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内の bin ディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -a/--all | いいえ | なし | なし | すべてのOBServerノードを起動するかどうかを制御します。値は指定不要です。コマンドにこのオプションが含まれない場合、デフォルトでは現在obshellで運用されているOBServerノードのみが起動します。 |
| -s/--server | いいえ | string | なし | 指定したobshellで運用されているOBServerノードを起動します。形式はobshell_ip:obshell_portで、複数のobshellは,で区切ります。例:-s x.x.x.x:2886,x.x.x.x:2886。 |
| -z/--zone | いいえ | string | なし | 指定したZone内のすべてのOBServerノードを起動します。複数のZoneは,で区切ります。例:-z zone1,zone2。 |
| -i/--id | いいえ | string | なし | 前提となる起動/停止タスクのIDを指定します。特殊な状況でのみ使用します。クラスタの運用が1つまたは複数の前提タスクによってロックされている場合、-i を使用して前提タスクをアンロックできます。例:-i 22130706433028869。 |
| -y/--yes | いいえ | なし | なし | 二度目の確認をキャンセルするかどうかを制御します。値は指定不要です。 |
| --ssh_user | いいえ | string | なし | SSH接続時に使用するユーザーを設定します。 |
| --ssh_port | いいえ | string | なし | SSH接続時に使用するポート番号を設定します。 |
| --user_password | いいえ | string | なし | SSH接続時に使用するユーザーパスワードを設定します。 |
| --key_file | いいえ | string | "/~/.ssh/id_rsa" | SSH接続時に指定する秘密鍵ファイルを設定します。このオプションは--user_passwordが設定されていない場合に有効になります。 |
| --key_passphrase | いいえ | string | なし | 指定した秘密鍵ファイルを参照するためのパスワードを設定します。このオプションは--key_fileが有効な場合にのみ有効になります。 |
obshell cluster stop
このコマンドを使用すると、指定された範囲内のobserverプロセスを停止できます。コマンドの詳細な使用シナリオについては、OceanBaseクラスタの停止を参照してください。
${home_path}/bin/obshell cluster stop [-a] [-s] [-z] [-f] [-t] [-I] [-i] [-y]
# example
/home/admin/oceanbase/bin/obshell cluster stop -s 10.10.10.1:2886 -I
home_path はOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内の bin ディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -a/--all | いいえ | なし | なし | すべてのobserverプロセスを停止するかどうかを制御します。値は指定不要です。このオプションがコマンドに含まれない場合、デフォルトでは現在obshellでメンテナンスされているOBServerノードのプロセスのみが停止します。 |
| -s/--server | いいえ | string | なし | 指定されたobshellでメンテナンスされているOBServerノードのプロセスを停止します。形式はobshell_ip:obshell_portで、複数のobshellは,で区切ります。例:-s x.x.x.x:2886,x.x.x.x:2886。 |
| -z/--zone | いいえ | string | なし | 指定されたZone内のすべてのobserverプロセスを停止します。複数のZoneは,で区切ります。例:-z zone1,zone2。 |
| -f/--force | いいえ | bool | false | observerプロセスを強制的にkillするかどうかを制御します。値は指定不要です。 |
| -t/--terminate | いいえ | なし | なし | このオプションは値を指定する必要がありません。コマンドでこのオプションを設定すると、OceanBaseクラスタを再起動する前にMINOR FREEZRコマンドを実行します。 |
| -I/--immediate | いいえ | なし | STOP SERVERを実行するかどうかを制御します。値は指定不要です。STOP SERVERの詳細については、分離ノードドキュメントを参照してください。
説明
|
|
| -i/--id | いいえ | string | なし | 前提となる起動/停止タスクのIDを指定します。特殊な状況でのみ使用します。クラスタのメンテナンスが1つまたは複数の前提となる起動/停止タスクによってロックされている場合、-iを使用して前提タスクをアンロックできます。例:-i 22130706433028869。 |
| -y/--yes | いいえ | なし | なし | 二度目の確認をキャンセルするかどうかを制御します。値は指定不要です。 |
obshell cluster upgrade
このコマンドを使用すると、OceanBaseデータベースを指定したバージョンにアップグレードできます。コマンドの詳細な使用シナリオについては、OceanBaseクラスタのアップグレードを参照してください。
説明
このコマンドでOceanBaseデータベースをアップグレードすると、obshellはOceanBaseデータベースとobshellのバージョンマッピングに基づいて、同時にobshellのバージョンもアップグレードします。
${home_path}/bin/obshell cluster upgrade -d [-m] [-V] [-t] [-y]
# example
/home/admin/oceanbase/bin/obshell cluster upgrade -d /home/admin/oceanbase/upgrade/ -V 4.2.2.0-20231224224959
home_pathはOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内のbinディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -d/--pkg_directory | はい | string | なし | アップグレードパッケージがあるディレクトリの絶対パスを指定します。 |
| -m/--mode | いいえ | string | ROLLING | アップグレードモードを指定します。以下の2つの値を設定できます。
|
| -V/--target_version | いいえ | string | なし | ターゲットバージョンを指定します。形式は正しくする必要があります。例:4.2.2.0または4.2.2.0-20231224224959。指定しない場合、-dディレクトリ配下の最新バージョンのOceanBaseデータベースRPMパッケージが選択されます。 |
| -t/--tmp_directory | いいえ | string | ${home_path}/upgrade | アップグレード中の一時ディレクトリを指定します。ダウンロードしたインストールパッケージや解凍・インストール中に生成されるすべてのファイルを格納します。絶対パスで設定する必要があります。 |
| -y/--yes | いいえ | なし | なし | 二度目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
obshell cluster scale-out
このコマンドを使用すると、現在のノードを指定されたクラスタに拡張できます。コマンドの詳細な使用シナリオについては、obshellを使用したOceanBaseクラスタの拡張を参照してください。
${home_path}/bin/obshell cluster scale-out -z -s [--rp] [-d] [-r] [-p] [-P] [-l] [-o] [-y]
# example
/home/admin/oceanbase/bin/obshell cluster scale-out -s '10.10.10.1:2886' -z 'zone1' -o 'memory_limit=16G,system_memory=8G,log_disk_size=24G,datafile_size=24G' --rp *****
home_path はOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内の bin ディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -s/--server | はい | string | なし | 拡張対象クラスタ内に既存のノード。複数のノードが含まれる場合は、そのうちの1つを指定します。形式は ip:obshell_port で、obshell_port は省略可能です。デフォルトは 2886 です。 |
| -z/--zone | はい | string | なし | 拡張後の現在ノードが属するZone。 |
| --rp/--rootpassword | いいえ | string | なし | 拡張対象クラスタのsysテナントのrootユーザーパスワード。設定したパスワードが誤っている場合、拡張を開始できません。 |
| -d/--data_dir | いいえ | string | ${home_path}/store | SSTableなどのデータを格納するディレクトリを設定します。絶対パスを指定する必要があります。デフォルトは作業ディレクトリ(home_path)配下の store ディレクトリです。 |
| -r/--redo_dir | いいえ | string | ${data_dir} | clogデータを保存するディレクトリを設定します。絶対パスを指定する必要があります。デフォルト値は --data_dir の値と同じです。 |
| -p/--mysql_port | いいえ | int | 2881 | SQLサービスプロトコルのポート番号を設定します。デフォルトは 2881 です。 |
| -P/--rpc_port | いいえ | int | 2882 | リモートアクセスプロトコルのポート番号を設定します。デフォルトは 2882 です。 |
| -l/--log_level | いいえ | string | なし | OBServerノードのログ出力レベルを設定します。 |
| -o/--opt_str | いいえ | string | なし | OBServerノードのその他のパラメータを設定します。各パラメータの形式は key=value で、複数のパラメータは , で区切ります。-o 全体はシングルクォートで囲む必要があります。例:-o 'memory_limit=16G,system_memory=8G,log_disk_size=24G,datafile_size=24G'。 |
| -y/--yes | いいえ | なし | なし | 二度目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
obshell cluster scale-in
このコマンドを使用すると、クラスタから指定されたノードまたはゾーンを削除できます。
${home_path}/bin/obshell cluster scale-in [-z] [-s]
# example
/home/admin/oceanbase/bin/obshell cluster scale-in -z zone1
/home/admin/oceanbase/bin/obshell cluster scale-in -s "10.10.10.1:2886" -f
home_path はOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内の bin ディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -s/--server | いいえ | string | なし | クラスタから削除するノードを指定します。形式は ip:obshell_port です。obshell_port は省略可能で、デフォルトは 2886 です。
説明
|
| -z/--zone | はい | string | なし | クラスタから削除するゾーンを指定します。
説明
|
| -f/--force | いいえ | なし | なし | 削除されるノード上のobserverプロセスをkillするかどうかを制御します。ノード削除時にのみ有効です。このオプションを指定すると、ノード削除前にそのノード上のobserverプロセスをkillします。
注意
|
| -y/--yes | いいえ | なし | なし | 二度目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
obshell cluster backup
このコマンドを使用すると、クラスタ内のすべてのテナントに対してバックアップ関連のパラメータを設定し、バックアップを実行できます。コマンドの詳細な使用方法は、クラスタレベルバックアップの開始を参照してください。
${home_path}/bin/obshell cluster backup [flags]
# example
/home/admin/oceanbase/bin/obshell cluster backup -u /path/to/backup --backup_mode incremental --encryption MySecretPassword
home_path はOceanBaseデータベースのインストールディレクトリです。obshellはデフォルトでOceanBaseデータベースのインストールディレクトリ内の bin ディレクトリに配置されています。
オプションの説明は以下の表を参照してください:
オプション名 |
必須 |
データ型 |
デフォルト値 |
説明 |
|---|---|---|---|---|
| -u/--backup_base_uri | いいえ | string | なし | すべてのテナントのバックアップ宛先を設定します。設定後は、このパスに各テナントのデータバックアップパスとログアーカイブパスを一定のルールで結合します。以前にバックアップ宛先が設定されている場合、ここでこのオプションを構成しない場合は、以前の設定が適用されます。以前にバックアップ宛先が設定されていない場合、ここでこのオプションを構成しない場合は、デフォルトで空になります。 |
| -m/--backup_mode | いいえ | string | full | データバックアップモード。取り得る値は full と incremental で、それぞれフルバックアップ (full) と増分バックアップ (incremental) を表します。 |
| -c/--log_archive_concurrency | いいえ | int | なし | ログアーカイブの総ワーカースレッド数を設定します。 |
| -b/--binding | いいえ | string | Optional | アーカイブと業務の優先モードを設定します。現在、Optional (ユーザー業務優先) と Mandatory (アーカイブ優先) の設定をサポートしています。設定しない場合、デフォルトは Optional モードです。 |
| -i/--piece_switch_interval | いいえ | string | なし | piece の切り替え間隔を設定します。値の範囲は [1d, 7d] です。 |
| -e/--encryption | いいえ | string | なし | バックアップ後のバックアップセットにパスワードを設定します。このオプションを設定した場合、そのバックアップセットを使用して復元する際には、このパスワードを入力する必要があります。また、このパスワードは削除できません。 |
| -l/--archive_lag_target | いいえ | string | なし | テナントログアーカイブの遅延時間を制御します。変更が必要な場合は、ログアーカイブ宛先の設定が完了していることを確認してください。 |
| -D/--delete_policy | いいえ | string | default | クリーンアップポリシーを設定します。クリーンアップポリシーが設定されたテナントは、毎時1回自動クリーンアップが実行されます。現在、default の設定のみをサポートしており、これは -u/--backup_base_uri の値に含まれるバックアップのみを自動クリーンアップすることを意味します。 |
| -r/--delete_recovery_window | いいえ | string | なし | バックアップデータの復元可能な時間窓を設定します。設定時には時間単位を指定する必要があります。このオプションの使用については、バックアップ関連パラメータの紹介を参照してください。 |
| -s/--ha_low_thread_score | いいえ | int | なし | バックアップ、バックアップクリーンアップなどの中低優先順位タスクの現在のワーカースレッド数を指定します。値の範囲は [0, 100] です。 |
| -P/--plus_archive | いいえ | なし | なし | データバックアップ処理中にアーカイブログも同時にバックアップするかどうかを制御します。値を指定する必要はありません。このオプションを追加すると、最終的なバックアップディレクトリにアーカイブログを含む完全なデータセットが生成されます。 |
| -y/--yes | いいえ | なし | なし | このオプションには値を指定する必要はありません。コマンドでの設定は、二度目の確認をスキップすることを意味します。 |