OceanBaseデータベースでは、構成パラメータの設定により、ロードバランシング、コンパクションのタイミング、コンパクション方式、リソース割り当て、モジュールのオン/オフなど、クラスタの機能動作を制御できます。
OceanBaseデータベースのobserverプロセスは、初めて起動する際に特定の必須構成パラメータを指定する必要があります。必須パラメータ以外の項目については、指定されていない場合はシステムが定めるデフォルト値が使用されます。プロセスの起動に成功すると、パラメータ値は /home/admin/oceanbase/etc/observer.config.bin ファイルに永続化され、このファイルの内容は strings observer.config.bin コマンドで確認できます。初回起動以外の場合、システムは永続化ファイル内の構成パラメータを読み込み、変更が不要な場合は再度パラメータを指定する必要はありません。
パラメータのレベル
OceanBaseデータベースの構成パラメータは、クラスタレベルとテナントレベルに分かれています。
クラスタレベルの構成パラメータ:その適用範囲は、クラスタ内のすべてのOBServerノードです。
テナントレベルの構成パラメータ:その適用範囲は、クラスタ内で現在のテナントが存在するOBServerノードです。
名前が「_」で始まる構成パラメータは隠しパラメータと呼ばれ、例えば_ob_max_thread_numなどがあります。これらは開発者が障害調査や緊急の運用保守時にのみ使用します。本記事では隠しパラメータについて詳しく説明しません。以下の構成パラメータには隠しパラメータは含まれていません。
異なるテナントにおける構成パラメータの表示および変更レベルは、以下の表のとおりです:
| テナントタイプ | パラメータの確認 | パラメータの設定 |
|---|---|---|
| システムテナント | クラスタレベルの構成パラメータ、テナントレベルの構成パラメータ
説明
|
クラスタレベルの構成パラメータ、テナントレベルの構成パラメータ
説明システムテナントでは、 |
| 一般テナント | クラスタレベルの構成パラメータと当該テナントのテナントレベルの構成パラメータ | 当該テナントのテナントレベルの構成パラメータ |
現在のOceanBaseデータベースにおける構成パラメータの主なデータ型と関連説明は、以下の表のとおりです:
| データ型 | 説明 |
|---|---|
| BOOL | boolean型(ブール)。true/falseをサポートします。 |
| CAPACITY | 容量単位。b(バイト)、k(KB、キロバイト)、m(MB、メガバイト)、g(GB、10億バイト)、t(TB、テラバイト)、p(PB、ペタバイト)をサポートします。単位は大文字と小文字を区別しません。デフォルトはmです。 |
| DOUBLE | 半精度浮動小数点数。64ビットのストレージ容量を使用し、小数点以下15桁まで正確に表現できます。有効桁数は16桁です。 |
| INT | int64整数型。正の整数、負の整数、および0をサポートします。 |
| MOMENT | 時刻。書式はhh:mm(例:02:00)または特別値disableであり、時間を指定しないことを意味します。現在はmajor_freeze_duty_timeパラメータでのみ使用されています。 |
| STRING | 文字列。ユーザーが入力した文字列の値です。 |
| STRING_LIST | 文字列リスト。セミコロン(;)で区切られた複数の文字列です。 |
| TIME | 時間型。us(マイクロ秒)、ms(ミリ秒)、s(秒)、m(分)、h(時間)、d(日)などの単位をサポートします。接尾辞を付けない場合、デフォルトは秒(s)です。単位は大文字と小文字を区別しません。 |
パラメータの有効化方法
構成パラメータは一般的に動的に有効化されるものと、再起動後に有効化されるものの2種類に分かれています。ほとんどの構成パラメータは動的に有効化されるタイプであり、OBServerを再起動することなく即座に反映されます。
構成パラメータのレベルと有効化方法を確認する
特定の構成パラメータを照会する方法は以下のとおりです:
obclient [(none)]> SHOW PARAMETERS LIKE 'max_syslog_file_count';
照会結果は次のとおりです:
+-------+----------+----------------+----------+-----------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+---------------+-----------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault |
+-------+----------+----------------+----------+-----------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+---------------+-----------+
| zone1 | observer | 172.xx.xxx.xxx | 2882 | max_syslog_file_count | INT | 0 | specifies the maximum number of the log files that can co-exist before the log file recycling kicks in. Each log file can occupy at most 256MB disk space. When this value is set to 0, no log file will be removed. Range: [0, +∞) in integer | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | 0 | 1 |
+-------+----------+----------------+----------+-----------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+---------------+-----------+
1 row in set
その中で:
scope列は、その構成パラメータのレベルを示します。対応する値がCLUSTERの場合、その構成パラメータはクラスタレベルであることを意味します。対応する値がTENANTの場合、その構成パラメータはテナントレベルであることを意味します。edit_level列は、その構成パラメータの有効化方法を示します。一般的に、動的に有効化されるものと再起動後に有効化されるものの2種類に分かれており、dynamic_effectiveは動的に有効化されることを示し、static_effectiveは再起動後に有効化されることを示します。ほとんどの構成パラメータは動的に有効化される方式であり、OBServerを再起動することなく即時に反映されます。
関連ドキュメント
クラスタ構成パラメータに関するその他の運用操作については、次を参照してください: