OceanBaseデータベースでは、構成パラメータの設定により、ロードバランシング、メジャーコンパクションのタイミング、メジャーコンパクション方式、リソース割り当て、モジュールのオン/オフなど、クラスタの機能動作を制御できます。
OceanBaseデータベースのobserverプロセスは、初回起動時に特定の必須構成パラメータを指定する必要があります。必須パラメータ以外は、指定されていない場合、システムが指定するDefault値が使用されます。プロセス起動後、パラメータ値は /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、1兆バイト)、p(PB、1000億バイト)をサポートします。単位は大文字と小文字を区別せず、デフォルトは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を再起動しなくても有効になります。
関連ドキュメント
クラスタパラメータに関するその他の運用操作については、次の記事を参照してください: