このドキュメントでは、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 | いいえ | なし | なし | 二度目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
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クラスタが初期化されていない場合、obshellの関連情報のみが表示されます。これにはIPアドレス、バージョン、ポートが含まれます。
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 | いいえ | なし | なし | 2回目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
| --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 | いいえ | なし | なし | 2回目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
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
このコマンドを使用すると、クラスタから指定されたノードまたはZoneを削除できます。
${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 | なし | クラスタから削除するZoneを指定します。
説明
|
| -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 | いいえ | なし | なし | このオプションには値を指定する必要はありません。コマンドでの設定は、二度目の確認をスキップすることを意味します。 |