本記事では、x86アーキテクチャのCentOS Linux 7.9イメージを環境として、OCP GUIを用いてOceanBaseデータベースをデプロイする方法を説明します。
前提条件
OCPは既にデプロイ済みです。詳細な手順については、OceanBaseクラウドプラットフォームCommunity Editionのデプロイを参照してください。
現在OCPにログインしているユーザーは、ADMIN ロールまたは ORG_ADMIN ロールです。
OceanBaseのデプロイに必要なoceanbase-ce、oceanbase-ce-libs、oceanbase-ce-utilsソフトウェアパッケージをOCPにアップロードしました。詳細については、OceanBase公式Webサイトのドキュメント「OceanBaseクラウドプラットフォーム」の ソフトウェアパッケージ管理/ソフトウェアパッケージのアップロードを参照することができます。
(オプション)マルチレプリカのOceanBaseクラスタを作成する場合は、現在のOCPに利用可能なODPクラスタが既に存在している必要があります。ODPクラスタの追加方法については、公式Webサイトのドキュメント『OceanBaseクラウドプラットフォーム』の OBProxy管理 / OBProxyクラスタの作成を参照することができます。
操作手順
説明
本記事では、OCP V4.3.4 Community Editionを例に操作手順を説明します。OCPのバージョンによって操作画面が異なる場合があります。実際の画面をご確認ください。
ステップ1:OCPリソースプールにマシンを追加する
OceanBaseクラスタをデプロイする前に、このセクションを参照して、マシンをOCPリソースプールに追加する必要があります。
OCPにログインします。
左側のナビゲーションバーで ホスト をクリックして、ホスト ページに移動します。
ホスト ページの右上の ホストを追加 をクリックします。
表示されたダイアログボックスにマシン情報を入力します。
各フィールドへの入力説明は以下の表のとおりです。
フィールド 説明 IPアドレス 追加するマシンのIPアドレスです。新規ホストのIPv4アドレスを入力してください。複数のIPアドレスを追加する場合は、英語のカンマ(,)で区切ってください。 SSHポート デフォルトは 22です。マシンタイプ OCPによるホスト管理を容易にするため、同じ構成のホストに割り当てられるタグです。対応するマシンタイプがない場合、ドロップダウンメニューで マシンタイプを追加 をクリックして、新しいマシンタイプを追加することができます。 データセンター 使用するマシンのデータセンターを選択します。対応するデータセンターがない場合、ドロップダウンメニューで データセンターを追加 をクリックして、OCPにデータセンター情報を追加します。データセンター情報は データセンター と リージョン を含みます。 - データセンターは、OceanBaseクラスタが記録する必要があるホスト属性の1つです。この属性は、OceanBaseクラスタのロードバランシングとSQL文のルーティング戦略の参照項目として使用されるため、実際の状況に合わせて入力してください。
- リージョンはホストの地理的な位置を表すもので、OceanBaseクラスタが記録する必要のあるホスト属性の1つです。OceanBaseクラスタのロードバランシングとSQL文のルーティング戦略に影響するため、実際の状況に合わせて入力してください。
説明
OCP V3.1.1バージョンより、マルチゾーンモードがサポートされます。新しいデータセンターを追加する場合、現在のOCPが配置されているゾーンに新しいデータセンターが作成されます。
ホストのタイプ 物理マシン、コンテナ、ECS の3つのオプションがあります。コンテナ タイプを選択する際は、ポートマッピング、つまりocp-agentとホスト、ocp exportとホストの計2組のマッピング関係を指定する必要があり、対応するフォーマットは <ホストポート>:<Docker内のocp-agentポート>、<ホストポート>:<Dockerコンテナ内のocp-exporterポート1>となります。認証情報 物理マシンへのリモートログインに使用する認証情報を選択します。ドロップダウンメニューから 認証情報の追加 をクリックして、新しい認証情報を作成することができます。
認証情報の追加時には、次の点に注意してください:- 認証情報名:英字で始まり、英字または数字で終わり、英数字、アンダースコア(_)を含み、長さは2~64文字であること。
- 認証タイプ:パスワード認証、公開鍵認証、および 設定済みのパスワードレス認証 の3つのタイプがあります。
- ユーザータイプ:root権限を持つSSHユーザーをサポートします。root権限を持つ一般ユーザーは、sudoコマンドをパスワードレスで実行するよう事前に設定しておく必要があります。OCPは現在、すべてのコマンドをパスワードレスでsudo実行する設定のみをサポートしています。つまり、
/etc/sudoersファイルにusername ALL=(ALL) NOPASSWD:ALLを追加します。
ホストエイリアス(オプション) 任意項目で、ホストに別の名前を設定します。 説明(オプション) ホストに関する注釈で、ホスト管理の効率化に役立ちます。 入力後、OK をクリックします。
ステップ2:OceanBaseクラスタの作成
このセクションでは、OCPを使用してOceanBaseクラスタを作成する方法について説明します。
OCPのGUIで、実際のビジネスシナリオに基づき、新規クラスタ作成のエントリを探します。
管理可能なクラスタがない場合、クラスタ ページで新規クラスタの作成を促すメッセージが表示されます。メッセージ内の クラスタの作成 を直にクリックします。
既に管理可能なクラスタがある場合は、左側の クラスタ をクリックし、クラスタ ページの右上にある クラスタの作成 をクリックします。
説明
OCPはデフォルトで分散型クラスタを作成します。クラスタの作成ページの右上で、デプロイするクラスタモード(分散型クラスタとスタンドアロン集中型)を選択できます。ここでは、分散型クラスタの作成例を説明します。
クラスタの作成 ページで、クラスタの基本情報を設定します。
基本情報に関する説明については、以下の表に示す通りです。
設定 説明 クラスタタイプ プライマリクラスタ を選択します。 機能の適用性
OCP Community Editionは、新規プライマリクラスタの作成のみをサポートします。
クラスタ名 管理対象クラスタのカスタマイズ可能な名前です。クラスタ名は英字で始まり、英字または数字で終わり、英数字、アンダーバー(_)を含み、長さは2~32文字である必要があります。 root@sysパスワード カスタマイズまたはランダム生成をサポートします。パスワードは以下の複雑さの条件を満たす必要があります:
- 長さ:8~32文字
- 以下の4種類の文字のうち、少なくとも3種類以上を含む:数字(0~9)、大文字(A~Z)、小文字(a~z)、特殊記号
~!@#%^&*_-+=|(){}[]:;,.?/
OceanBaseバージョン リストから既存のOceanBaseデータベースバージョンを選択するか、またはドロップダウンメニューで ソフトウェアパッケージのアップロード をクリックして、OceanBaseデータベースRPMパッケージをアップロードすることができます。 OBProxyクラスタの関連付け このオプションは、既存のODPクラスタを関連付けるために使用します。マルチレプリカのOceanBaseクラスタを作成する場合は、OBProxyクラスタの関連付け スイッチをオンにして、OceanBaseクラスタにODPクラスタを関連付けることを推奨します。関連付け後、お客様のビジネスに関連するSQLリクエストは、対応するレプリカに正確に転送されます。これにより、OceanBaseデータベースへのアクセス効果は、スタンドアロンデータベースへのアクセスと同等になります。 - デフォルトで
proxyro@sysユーザーが関連付けられているため、ユーザー名とパスワードを入力する必要はありません。 - ドロップダウンリストから関連付けるODPクラスタを選択します。ドロップダウンリストに関連付け可能なODPクラスタがない場合、本記事の 前提条件 にあるリンクを参照して、ODPクラスタを追加してください。
注意
- OceanBaseクラスタネットワークと一致しており、かつ空でないOBProxyクラスタのみ選択可能です。
選択されたOceanBaseバージョンのクラスタがV4.0およびそれ以降の場合、V4.0.0およびそれ以降のバージョンと関連するOBProxyクラスタのみがサポートされます。
負荷タイプ ドロップダウンリストから対応する負荷タイプを選択できます。OCPは、負荷タイプに応じてOceanBaseクラスタに異なる構成を設定します。負荷タイプの具体的な説明は以下のとおりです: - Express OLTP:貿易、決済基幹システム、インターネットの高スループットアプリケーションなどのワークロードに適しています。外部キー制約などはありません。ストアドプロシージャ、長時間トランザクション、大規模トランザクション、複雑な結合、複雑なサブクエリもありません。
バージョン制限:OceanBaseデータベースV4.2.5およびそれ以降のバージョンに対応しています。 - HTAP:ハイブリッドOLAPおよびOLTPワークロードに適しています。通常、リアルタイムの運用データ、不正検知、パーソナライズされたレコメンドから即時の見解を得るために使用されます。
バージョン制限:OceanBaseデータベースV4.2.5およびそれ以降のバージョンに対応しています。 - OLAP:リアルタイムデータウェアハウス分析シーンで使用されます。
バージョン制限:OceanBaseデータベースV4.3.0およびそれ以降のバージョンに適用されます。 - Complex OLTP:銀行、保険システムなどのワークロードに適しています。それらは通常、複雑な結合、複雑な相関サブクエリ、PLで記述されたバッチジョブ、および長時間トランザクションと大規模トランザクションを備えています。短時間実行のクエリに対して、パラレル実行を使用することがあります。
バージョン制限:OceanBaseデータベースV4.2.5およびそれ以降のバージョンに対応しています。 - OBKV:キーバリューワークロードとHBaseのようなワイドカラムワークロードに使用され、通常非常に高いスループットを必要とし、レイテンシに敏感です。
バージョン制限:OceanBaseデータベースV4.2.5およびそれ以降のバージョンに対応しています。
クラスタのデプロイモードを設定します。
デフォルトで3つのZoneの情報が追加されます。クラスタを4つ以上のZoneにデプロイする場合は、下部の + Zoneを追加 ボタンをクリックして、Zone情報を追加することができます。デプロイ済みクラスタのZone数が3未満の場合、Zoneの後ろにある削除アイコンをクリックすることができます。
各Zoneに設定する必要がある情報とその説明は、以下の表のとおりです。
設定 説明 Zone名 通常、デフォルト名が設定されていますが、必要に応じて名前を変更することができます。Zone名は英文字で始まり、英字または数字で終わり、英数字、アンダースコア(_)を含み、長さは2~32文字である必要があります。複数ZoneにデプロイされたOceanBaseクラスタは、主Zoneと同じリージョンを持つZoneを1つ持つ必要があります。 データセンター Zoneが属するデータセンターでは、1つのZoneは1つのデータセンターにのみ存在できます。 マシンタイプ(オプション) マシンタイプを選択すると、後のホストリストはそのマシンタイプに基づいてフィルタリングされます。 CPUアーキテクチャ 選択した OceanBaseバージョン に複数の異なるアーキテクチャのインストールパッケージが存在する場合、このソフトウェアパッケージに対応するホストハードウェアアーキテクチャを選択する必要があります。 注意
デフォルトのアーキテクチャタイプは、最初のインストールパッケージのアーキテクチャタイプで、切り替えがサポートされています。指定されたアーキテクチャに切り替えると、ホストリストにそのアーキテクチャのホストが表示されます。
異なるZoneに異なるアーキテクチャを設定する場合、混合アーキテクチャのデプロイモードでは安定性とパフォーマンスの問題が発生する可能性があるため、慎重に操作してください。
ホスト 複数のホストを選択するか、ホストを追加することができます。 Root Serviceの位置 Root Serviceを配置するマシンのIPアドレスを選択する必要があります。マルチレプリカのOceanBaseクラスタでは、各Zoneに1つのRoot Serviceを指定する必要があります。 Zone優先順位付け クラスタsysテナントのリーダーレプリカの分散に優先順位を指定します。最も優先順位の高いZoneはPrimary Zoneと見なされ、1つしか持つことができません。指定がない場合、最初のZoneが第一優先順位となります。ソート方法は以下のとおりです: - 左側のリストボックスから1つまたは複数のZoneを選択します。左側のリストボックスには、現在のクラスタで選択可能なすべてのZoneが表示されます。
- 中央の > ボタンをクリックします。選択したZoneが優先順位ソートリストに移動します。複数のZoneを同時に選択すると、それらは同じ優先順位を持ちます。
- ステップ1と2を繰り返し、優先順位が1つ低いZoneを追加します。
- 優先順位を調整する必要がある場合、優先順位ソートリスト内でドラッグして順序を変更することができます。リスト内では上から下へ優先順位が低くなります。
クラスタでCgroupを有効にするかどうかを選択します。
Cgroupは、主にOceanBaseクラスタ内のテナント間およびテナント内のCPUリソースの分離に使用されます。作成するOceanBaseクラスタのバージョンがV4.0およびそれ以降の場合、システムはデフォルトでCgroupを有効化し、CPU / IOPSのより強力な分離を実現します。Cgroupを有効にすると、パフォーマンスが約7% 低下します。単一テナント、小規模(<14C)、および高いデータベースパフォーマンスが必要なユースケースでは、Cgroupを無効にすることを推奨します。また、ホストのOSカーネルバージョンが4.1.9より低い場合、クラスタはテナントを作成できず、システムはCgroupをデフォルトで無効にし、Cgroupスイッチは表示されません。
CPUのオーバーコミットを設定する。
CPUオーバーコミット設定 スイッチをオンにした後、CPUオーバーコミットの許容範囲の設定を行うことができます。デフォルト値は120% です。スライダーまたは入力欄でオーバーコミット比率を設定でき、値の範囲は101% ~200% となります。
システムの異なるテナントの負荷は、制御された形でインターリーブ実行でき、CPUリソースの設定においてオーバーコミットを設定することで、リソース利用率を向上させることができます。異なる業務シナリオの負荷が重なる場合、OceanBaseクラスタの運用中に負荷過多などの状況が発生し、テナント間でCPUを巡るスレッド競合が発生し、結果として実際の業務シナリオが遅延することがあります。
パラメータ設定 モジュールを開き、クラスタパラメータを構成します。
基本設定 で負荷タイプを設定すると、システムは負荷タイプに対応するパラメータテンプレートをデフォルトで選択します。
図 ① のように、起動パラメータ項目を1つずつ追加することで、値を設定することができます。OceanBaseデータベースのパラメータについては、構成パラメータ概要を参照することができます。
図 ② のように、パラメータテンプレートの選択 をクリックしてパラメータテンプレートを選択することもできます。システムは、テンプレートのパラメータと設定をここに自動的に入力します。また、クラスタパラメータテンプレートの作成 をクリックして、クラスタのパラメータテンプレートを作成することもできます。詳細については、公式Webサイト『OceanBaseクラウドプラットフォーム』ドキュメントの クラスタ管理/クラスタパラメータテンプレートの管理を参照してください。
OCPシステムは、下記6種類の組み込みテンプレートを提供します。これらのテンプレートには一般的なパラメータ設定が含まれており、テンプレートを直接適用することでクラスタの初期設定を行うことができます。具体的な説明については以下のとおりです:
テンプレート 説明 COMPLEX_OLTPデフォルトパラメータテンプレート Complex OLTP ワークロードタイプに対応しており、このテンプレートはOceanBaseデータベースV4.2.5およびそれ以降のバージョンにのみ適用されます。 HTAPデフォルトパラメータテンプレート HTAP 負荷タイプに対応しており、このテンプレートはOceanBaseデータベースV4.2.5およびそれ以降のバージョンにのみ適用されます。 KVデフォルトパラメータテンプレート OBKV 負荷タイプに対応しており、このテンプレートはOceanBaseデータベースV4.2.5およびそれ以降のバージョンにのみ適用されます。 EXPRESS_OLAPデフォルトパラメータテンプレート Express OLAP 負荷タイプに対応しており、このテンプレートはOceanBaseデータベースV4.2.5およびそれ以降のバージョンにのみ適用されます。 OLAPデフォルトパラメータテンプレート OLAP 負荷タイプに対応しており、このテンプレートはOceanBaseデータベースV4.3.0およびそれ以降のバージョンにのみ適用されます。 2.2.77デフォルトパラメータテンプレート OceanBaseクラスタV2.2.77バージョンで推奨されるパラメータ設定。本番環境での使用を推奨します。 カスタム設定 を開くと、クラスタレベルのユーザー設定(OS所有者ユーザーなど)、パス設定(ソフトウェアインストールパス、データディスクパス、ログディスクパスなど)、ポート設定(SQLポート、RPCポートなど)の実行をサポートします。
オペレーティングシステムの所有者ユーザーを設定します:
このユーザーは、OBServerのインストールと実行の設定を行うOSユーザーであり、編集はサポートされていません。ocp.operation.default.os.userパラメータのデフォルト設定を変更することで、このユーザーを変更することができます。この変更は、分散クラスタの作成、OBProxyクラスタの作成、およびアービトレーションサービスの作成時のみ影響し、既存クラスタの他の設定には影響しません。
パスの設定:
設定 説明 ソフトウェアインストールパス - OSの所有者ユーザーがadminの場合、ソフトウェアインストールパスはデフォルトで
/home/admin/oceanbaseとなり、カスタムパスをサポートします。 - OSの所有者ユーザーが admin以外の場合、ソフトウェアのインストールパスはデフォルトで
/opt/oceanbase/oceanbaseとなり、カスタムパスもサポートされます。
データディスクパス デフォルトは /data/1であり、カスタムパスをサポートします。 ログディスクパス デフォルトは /data/log1であり、カスタムパスをサポートします。本番環境において、OceanBaseデータベースのログディスク容量はホストメモリ容量の3倍以上を推奨します。また、パフォーマンス問題を回避するため、データディレクトリとログディレクトリを同一ディスクにマウントすることは推奨しません。 説明
OCP V4.3.0 BP1以降、以下のバージョンのOceanBaseクラスタを作成する場合、slogディレクトリはログディスクに配置され、データディスクとは関連付けられなくなります。このとき、
log_disk_size=0と設定すると、clog専用とみなされ、デフォルトでlog_disk_percentageは90% になります。slogとclogが存在するディスクのサイズが40 GiBより小さい場合、slogに確保される領域は4 GiB未満となり、slogへの書き込みに影響する可能性があります。- V4.2.4.0 ≤ OceanBaseデータベースバージョン <V4.3.0.0
- OceanBaseデータベースバージョン ≥ V4.3.1.0
設定完了後、テスト をクリックして、パスが使用可能かどうか検証します。使用できない場合は、テスト結果に基づいて問題を調査するか、パスを他の使用可能なパスに変更することができます。
- OSの所有者ユーザーがadminの場合、ソフトウェアインストールパスはデフォルトで
ポートの設定:
設定 説明 SQLポート デフォルトは2881で、カスタムポートをサポートしています。 RPCポート デフォルトは2882であり、カスタムポートをサポートします。 設定が完了したら、テスト をクリックして、ポートが既に使用されているかどうかを検証します。既に使用されている場合、使用可能なポートを再設定する必要があります。
テスト完了後、送信 をクリックします。
表示された コミット情報の確認 ダイアログで、情報に誤りがないことを確認後、OK をクリックします。
説明
ページ右上のタスクセンターをクリックして、このタスクの実行状況を確認することができます。
関連ドキュメント
クラスタのデプロイ完了後、業務テナントを作成する必要があります。詳細については、公式Webサイト『OceanBaseクラウドプラットフォーム』ドキュメントの テナント管理/プライマリテナントの新規作成を参照してください。