このドキュメントでは、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 | なし | ノード自身が属するゾーンを設定します。 |
| -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クラスタが初期化されていない場合、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クラスタのアップグレード
このコマンドを使用すると、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クラスタのスケールアウト
このコマンドを使用すると、現在のノードを指定されたクラスタに拡張できます。コマンドの詳細な使用シナリオについては、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 | なし | 拡張後の現在のノードが属するゾーン。 |
| --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 | いいえ | なし | なし | 2回目の確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
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プロセスを強制的に終了するかどうかを制御します。ノードの削除時にのみ有効です。このオプションを指定すると、ノードを削除する前に、そのノード上のobserverプロセスを強制的に終了します。
注意
|
| -y/--yes | いいえ | なし | なし | 二度確認をキャンセルするかどうかを制御します。値を指定する必要はありません。 |
obshellクラスタバックアップ
このコマンドを使用すると、クラスタ内のすべてのテナントに対してバックアップ関連の構成パラメータを設定し、バックアップを実行できます。コマンドの詳細な使用方法については、クラスタレベルのバックアップの開始を参照してください。
${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 | クリーンアップポリシーを設定します。クリーンアップポリシーが設定されたテナントでは、毎時間自動クリーンアップがトリガーされます。現在、default の設定のみがサポートされており、自動クリーンアップの範囲は -u/--backup_base_uri 値のバックアップに限られます。 |
| -r/--delete_recovery_window | いいえ | string | なし | バックアップデータの復旧可能な時間窓を制御します。設定時には時間単位を指定する必要があります。このオプションの使用については、バックアップ関連パラメータの紹介を参照してください。 |
| -s/--ha_low_thread_score | いいえ | int | なし | バックアップ、バックアップクリーンアップなどの中低優先度タスクの現在のワーカースレッド数を指定します。値の範囲は[0, 100]です。 |
| -P/--plus_archive | いいえ | なし | なし | データバックアップ処理中にアーカイブログも同時にバックアップするかどうかを制御します。値の指定は不要です。このオプションを追加すると、最終バックアップディレクトリにアーカイブログを含む完全なデータセットが生成されます。 |
| -y/--yes | いいえ | なし | なし | このオプションに値を指定する必要はありません。コマンドでの設定は、二度目の確認をスキップすることを意味します。 |