本記事では、x86アーキテクチャのCentOS Linux 7.9イメージを環境として、OCPのGUIを使用してOceanBaseデータベースをデプロイする方法を紹介します。
前提条件
OCPがデプロイ済みであること。詳細な操作については、コミュニティ版OceanBaseクラウドプラットフォームのデプロイを参照してください。
現在OCPにログインしているユーザーが ADMIN 機構または ORG_ADMIN 機構であること。
デプロイに必要なoceanbase-ce、oceanbase-ce-libs、およびoceanbase-ce-utilsソフトウェアパッケージをOCPにアップロード済みであること。詳細な操作については、公式サイトの「OceanBaseクラウドプラットフォーム」ドキュメントソフトウェアパッケージ管理/ソフトウェアパッケージのアップロードを参照してください。
(オプション)マルチレプリカのOceanBaseクラスタを作成する場合は、現在のOCPに利用可能なODPクラスタが存在している必要があります。ODPクラスタの追加方法については、公式サイトの「OceanBaseクラウドプラットフォーム」ドキュメントOBProxy管理/OBProxyクラスタの作成を参照してください。
手順
説明
本記事では、OCP V4.3.4 Community Editionを例に操作手順を説明します。OCPのバージョンによって操作画面が異なる場合があります。実際の画面をご確認ください。
ステップ1:マシンをOCPリソースプールに追加する
OceanBaseクラスタをデプロイする前に、このセクションの内容を参照してマシンをOCPリソースプールに追加しておく必要があります。
OCPにログインします。
左側のナビゲーションバーでホストをクリックし、ホストページに移動します。
ホストページの右上隅でホストの追加をクリックします。
ポップアップダイアログでマシン情報を入力します。
各フィールドの入力方法は以下の表のとおりです。
フィールド説明IPアドレス 追加するマシンのIPです。新しいホストのIPv4アドレスを入力してください。複数のIPアドレスを同時に追加することもできます(複数のIPは半角カンマで区切ります)。 SSHポート デフォルトは 22です。マシンタイプ 構成が同じホストに指定されるラベルで、OCPがホストをより適切に管理するのに役立ちます。対応するマシンタイプがない場合は、ドロップダウンメニューで 新規マシンタイプ をクリックして新しいマシンタイプを追加できます。 データセンター マシンが配置されるデータセンターを選択します。対応するデータセンターがない場合は、ドロップダウンメニューで 新規データセンター をクリックして、OCPに新しいデータセンター情報を追加します。データセンター情報には データセンター と リージョン が含まれます。 - データセンターは、OceanBaseクラスタが記録する必要があるホスト属性の一種であり、OceanBaseクラスタのロードバランシングおよびSQL文ルーティングポリシーの参照項目となります。実際の状況に応じて記入してください。
- リージョンは、ホストが位置する地理的地域を示すもので、OceanBaseクラスタが記録する必要があるホスト属性の一つです。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の画面上で、実際のビジネスシナリオに応じて、新しいクラスタを作成するためのエントリを見つけます。
管理可能なクラスタがない場合、システムはクラスタページで新しいクラスタの作成を促すメッセージを表示します。そのメッセージ内のクラスタの作成をクリックすることができます。
既に管理可能なクラスタがある場合、左側のクラスタをクリックし、クラスタページの右上隅にあるクラスタの作成をクリックします。
説明
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の情報が追加されます。デプロイするクラスタのZone数が3つより多い場合は、下部の**+ Zoneの追加**ボタンをクリックしてZone情報を追加できます。デプロイするクラスタのZone数が3つ未満の場合は、Zoneの後ろにある削除アイコンをクリックできます。
各Zoneで設定が必要な情報とその説明は以下の表のとおりです。
設定説明Zone名 デフォルトで名前が設定されている場合がありますが、必要に応じてカスタマイズできます。Zone名は英字で始まり、英字または数字で終わる必要があります。英字、数字、アンダースコアを含み、長さは2~32文字です。複数のZoneをデプロイするOceanBaseクラスタでは、必ず1つのZoneがプライマリZoneと同じRegionに配置されなければなりません。 データセンター Zoneが配置されるデータセンターです。1つのZoneは1つのデータセンターにのみ存在できます。 ホストタイプ(オプション) ホストタイプを選択すると、後続のホストリストがそのタイプにフィルタリングされます。 CPUアーキテクチャ 選択したOceanBaseバージョンに複数の異なるアーキテクチャのインストールパッケージが存在する場合、そのソフトウェアパッケージに対応するホストのハードウェアアーキテクチャを選択する必要があります。 注意
デフォルトのアーキテクチャタイプは最初のインストールパッケージのアーキテクチャタイプであり、切り替えが可能です。特定のアーキテクチャに切り替えると、ホストリストにそのアーキテクチャのホストが表示されます。
異なるZoneに異なるアーキテクチャを設定する場合、混合アーキテクチャデプロイメントモードでは安定性とパフォーマンスの問題が発生する可能性があるため、慎重に操作してください。
ホスト 複数のホストを選択するか、ホストの追加操作を行うことができます。 Root Serviceの場所 Root Serviceが配置されるマシンとして、1つのIPを選択する必要があります。複数レプリカのOceanBaseクラスタでは、各ZoneにRoot Serviceを指定する必要があります。 Zoneの優先順位付け クラスタのsysテナントのプライマリレプリカの分散に優先順位を指定します。最も高い優先順位を持つZoneはPrimary Zoneと見なされ、1つしか存在できません。指定しない場合、デフォルトで最初のZoneが第一優先順位となります。並べ替え方は以下のとおりです: - 左側のリストボックスで1つ以上のZoneを選択します。左側のリストボックスには、現在のクラスタで利用可能なすべてのZoneが表示されます。
- 中央の>ボタンをクリックします。選択されたZoneは優先順位付けリストに移動します。一度に複数のZoneを選択した場合、それらのZoneは同じ優先順位を持ちます。
- 1、2の手順を繰り返し、次に低い優先順位の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を競合する現象が起こり、結果として実際のビジネスシナリオが遅くなる可能性があります。
パラメータ設定モジュールを開き、クラスタパラメータを設定します。
基本設定で負荷タイプを設定した場合、システムはデフォルトでその負荷タイプに対応するパラメータテンプレートを選択します。
図①のように、起動パラメータ項目を個別に追加し、値を設定することができます。OceanBaseデータベースのパラメータについては、パラメータ一覧を参照してください。
図②のように、パラメータテンプレートの選択をクリックしてパラメータテンプレートを選択することもできます。システムはテンプレート内のパラメータと設定を自動的にここに反映します。新しいクラスタパラメータテンプレートの作成をクリックして、クラスタ用のパラメータテンプレートを作成することもできます。詳細については、公式サイトの「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バージョンでの使用を推奨するパラメータ設定であり、本番環境での使用に供されます。 カスタム設定を開き、クラスタレベルのユーザー設定(オペレーティングシステムの所有者ユーザーなど)、パス設定(ソフトウェアインストールパス、データディスクパス、ログディスクパスなど)、ポート設定(SQLポート、RPCポートなど)を実行することをサポートします。
オペレーティングシステムの所有者ユーザーの設定:
このユーザーは、OBServerのインストールと実行を設定するオペレーティングシステムユーザーであり、編集はサポートされていません。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が配置されるディスクのサイズが40GiB未満の場合、slog用に予約される空き容量は4GiBに満たず、slogの書き込みに影響を与える可能性があります。- V4.2.4.0 ≤ OceanBaseデータベースバージョン < V4.3.0.0
- OceanBaseデータベースバージョン ≥ V4.3.1.0
設定完了後、テストをクリックしてパスが使用可能か確認します。使用できない場合は、テスト結果に基づいて調査するか、他の使用可能なパスに変更することができます。
- OSのユーザーがadminの場合、ソフトウェアインストールパスはデフォルトで
ポートの設定:
パラメータ説明SQLポート デフォルトは2881ですが、カスタムポートを指定できます。 RPCポート デフォルトは2882ですが、カスタムポートを指定できます。 設定完了後、テストをクリックしてポートが既に使用されていないか確認します。使用されている場合は、使用可能なポートを再設定する必要があります。
テスト完了後、送信をクリックします。
表示された送信内容の確認ダイアログボックスで、情報に誤りがないことを確認した後、OKをクリックします。
説明
ページの右上で タスクセンター をクリックすると、そのタスクの実行進捗状況を確認できます。
関連ドキュメント
クラスタのデプロイが完了したら、業務テナントを作成する必要があります。詳細については、公式サイトの「OceanBaseクラウドプラットフォーム」ドキュメントテナント管理/新規プライマリテナントの作成を参照してください。