本記事では、obdのコマンドラインインターフェース(CLI)を使用して、OceanBaseデータベースの本番環境をデプロイする方法について説明します。
説明
obdは、コマンドライン方式によるOceanBaseデータベース本番環境のデプロイに加え、GUIによるOceanBaseクラスタ環境のデプロイもサポートしています。OBDのGUI方式によるデプロイを推奨します。詳細な手順については、OBDのGUIによるOceanBaseクラスタのデプロイを参照してください。
用語解説
コントロールマシン
obdがインストールされたマシンは、OceanBaseクラスタの管理と、OceanBaseクラスタのインストールパッケージおよびクラスタ構成情報の保存を行うために用いられます。
ターゲットマシン
OceanBaseデータベースがインストールされたマシン。
OceanBaseデータベース
完全に自社開発で企業向けのネイティブ分散データベース。詳細については、OceanBaseデータベースドキュメントを参照してください。
obd
OceanBase Deployerは、OceanBaseのインストールとデプロイを行うツールで、略称をobdとします。詳細については、OceanBaseインストールとデプロイツールドキュメントを参照してください。
ODP
OceanBase Database Proxy、OceanBaseデータベースプロキシは、OceanBaseデータベース専用のプロキシサーバーであり、ODP (OBProxyとも呼ばれる)と略称されます。詳細については、OceanBaseデータベースプロキシドキュメントを参照してください。
OBAgent
OBAgentは、OceanBaseデータベースのモニタリングとデータ収集フレームワークであり、データのプッシュ型とポーリング型の2種類の収集モードをサポートしています。これにより、さまざまなシナリオに対応できます。
obconfigserver
OceanBase Configserver、obconfigserverは、OceanBaseのメタデータ登録、ストレージ、およびクエリサービスを提供します。詳細については、ob-configserverを参照してください。
Grafana
Grafanaは、オープンソースのデータ可視化ツールであり、データソース内のさまざまなメトリックデータを可視化して表示することで、システムの稼働状態やパフォーマンス指標をより直感的に理解できます。詳細については、Grafana公式サイトを参照してください。
Prometheus
Prometheusは、オープンソースのサービス監視システムおよび時系列データベースであり、汎用的なデータモデルと、迅速なデータ収集、ストレージ、およびクエリインターフェースを提供します。詳細については、Prometheus公式サイトを参照してください。
前提条件
OceanBaseデータベースをデプロイする前に、以下の情報をご確認ください:
お使いのマシンはソフトウェアとハードウェアの要件を満たしています。詳細については、ソフトウェアとハードウェアの要件を参照してください。
本番環境では、環境と設定のチェックが必要です。具体的な手順については、デプロイ前設定を参照してください。
コントロールマシンにobdおよびOBClientクライアントがインストール済みであることを確認してください。最新バージョンへの更新を推奨します。詳細については、公式Webサイト『OceanBaseインストール・デプロイツール』のドキュメント クイックスタート / obdのインストールおよび OBClientドキュメントを参照してください。
説明
OceanBase All in Oneのインストール時に、obdおよびOBClientクライアントが自動的にインストールされます。そのため、後述のステップ1に従ってOceanBase All in Oneをダウンロードしてインストールする予定であれば、この要件は無視することができます。
デプロイメントモード
本記事では3レプリカのデプロイメントモードを採用しており、4台のサーバの使用を推奨します。実際の状況に応じて、適切なデプロイメントプランを選択することができます。本記事で使用する4台のサーバーの状況は、以下のとおりです:
| ロール | マシン | 備考 |
|---|---|---|
| obd | 10.10.10.4 | コントロールマシンにインストールされた自動デプロイソフトウェア |
| OBServerノード | 10.10.10.1 | OceanBaseデータベースZone1 |
| OBServerノード | 10.10.10.2 | OceanBaseデータベースZone2 |
| OBServerノード | 10.10.10.3 | OceanBaseデータベースZone3 |
| ODP | 10.10.10.1、10.10.10.2、10.10.10.3 | OceanBaseデータベース専用の逆プロキシソフトウェア |
| OBAgent | 10.10.10.1、10.10.10.2、10.10.10.3 | OceanBaseデータベース監視収集フレームワーク |
| obconfigserver | 10.10.10.4 | OceanBaseのメタデータ登録、ストレージ、クエリサービスを提供します |
| Prometheus | 10.10.10.4 | オープンソースのサービス監視システムおよび時系列データベースで、汎用的なデータモデルと、データの収集、ストレージ、クエリを迅速に行うためのインターフェースを提供します |
| Grafana | 10.10.10.4 | データソース内のさまざまなメトリックデータを視覚化表示するためのオープンソースのデータ可視化ツールです。これにより、システムの稼働状態やパフォーマンス指標をより直感的に理解できます |
説明
本番環境では、ODPからアプリケーションへのアクセス時間を短縮するため、ODPとアプリケーションを同一のマシン上でデプロイすることを推奨します。各アプリケーションサーバにODPサービスを1つデプロイすることができます。
ODPをデプロイするマシンの構成は、OceanBaseデータベースをデプロイするマシンの構成と異なる場合があります。ODPのデプロイには、最小で1コア / 1 GBのメモリが必要でとなります。
スタンドアロンデプロイ手順については、OceanBaseインストールデプロイツールドキュメントの OceanBaseクラスタのデプロイを参照することができます。
操作手順
注意
以下の内容は、x86アーキテクチャのCentOS Linux 7.9イメージを環境として、記述しています。他の環境では、多少異なる場合があります。
OceanBaseクラスタをデプロイする前に、データセキュリティのため、root以外のユーザーに切り替えることを推奨します。
ステップ1:(オプション) OceanBase All in Oneをダウンロードしてインストールする
OceanBaseは、V4.0.0から、統合インストールパッケージOceanBase All in Oneを提供しています。この統合インストールパッケージを使用することで、obd、OceanBaseデータベース、ODP、OBAgentなどのコンポーネントを一度にインストールすることができます。
必要に応じて、OceanBaseソフトウェアダウンロードセンターから一部のコンポーネントを選択してダウンロードおよびインストールしたり、特定バージョンのコンポーネントを指定することもできます。
オンラインインストール
ネットワークに接続できる場合は、以下のコマンドを実行してオンラインインストールすることができます。
[admin@test001 ~]$ bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"
[admin@test001 ~]$ source ~/.oceanbase-all-in-one/bin/env.sh
オフラインインストール
ネットワークに接続できない場合、以下の手順に従ってオフラインインストールを行うことができます。
最新のOceanBase All in Oneインストールパッケージを OceanBaseソフトウェアダウンロードセンターからダウンロードし、コントロールマシンの任意のディレクトリにコピーします。
インストールパッケージのあるディレクトリで、以下のコマンドを実行してインストールパッケージを解凍し、インストールします。
[admin@test001 ~]$ tar -xzf oceanbase-all-in-one-*.tar.gz [admin@test001 ~]$ cd oceanbase-all-in-one/bin/ [admin@test001 bin]$ ./install.sh [admin@test001 bin]$ source ~/.oceanbase-all-in-one/bin/env.sh
説明
which obd コマンドと which obclient コマンドを実行して、インストールが成功したかどうかを確認することができます。.oceanbase-all-in-one ディレクトリ下のobdとobclientのパスが見つかれば、インストール成功です。
ステップ2:OBDを設定する
説明
本記事では、obd V3.5.0を例に操作手順を説明します。obdのバージョンの違いによって、設定ファイルが異なる場合があります。実際の設定ファイルをご確認ください。obdに関する詳細については、OceanBaseインストールデプロイツールドキュメントを参照してください。
オフラインでOceanBaseクラスタをデプロイする場合は、ステップ1 を参照して、コントロールマシンにOceanBase All in Oneをダウンロードしてインストールすることができます。OceanBase All in Oneが提供するコンポーネントは相互に互換性テスト済みであり、公式推奨バージョンです。
デプロイに必要なコンポーネントのバージョンに特別な要件がある場合には、OceanBaseソフトウェアダウンロードセンターから、対応するバージョンのインストールパッケージをダウンロードし、コントロールマシンの任意のディレクトリにコピーして、そのディレクトリで以下の手順に従ってobdを構成します。
説明
OceanBaseクラスタをオンラインでデプロイする場合は、ステップ1~3をスキップすることができます。
リモートリポジトリを無効にする
[admin@test001 rpm]$ obd mirror disable remote説明
OceanBase All in Oneのインストール後、リモートリポジトリはデフォルトで無効化されています。
obd mirror listコマンドで確認することができます。Type=remoteに対応するEnabledがFalseになっている場合、リモートミラーソースが無効化されていることを示しています。インストールパッケージをローカルリポジトリに追加する
[admin@test001 rpm]$ obd mirror clone *.rpmローカルイメージリポジトリ内のパッケージ一覧を確認する
[admin@test001 rpm]$ obd mirror list local設定ファイルを選択する
お使いのマシンにobdが直接ダウンロードによってインストールされている場合、
/usr/obd/exampleディレクトリでobdが提供する設定ファイルのサンプルを参照することができます。お使いのマシンにobdがOceanBase All in Oneの解凍によるインストール方法でインストールされている場合、
~/.oceanbase-all-in-one/obd/usr/obd/exampleディレクトリでobdが提供する設定ファイルのサンプルを確認することができます。ご利用のリソース状況に応じて、適切な設定ファイルを選択してください。説明
構成ファイルは、小規模開発モードと本格開発モードの2種類があり、両モードの構成ファイルにおける構成パラメータはほぼ同一ですが、設定仕様が若干異なります。実際のリソース条件に応じて選ぶことができます。
小規模開発モード:個人用デバイス(メモリ8 GB以上)に対応しており、設定ファイル名に
miniまたはminの識別子が含まれています。本格開発モード:高スペックのECSまたは物理サーバー(利用可能なリソースが16コア64 GB以上)に適しています。
スタンドアロンデプロイを選択した場合、つまりターゲットマシンが1台のみの場合、スタンドアロンデプロイ用設定ファイルを参照することができます。
ローカルスタンドアロンデプロイ設定例:mini-local-example.yaml、local-example.yaml
スタンドアロンデプロイ設定例:mini-single-example.yaml、single-example.yaml
スタンドアロンデプロイ + ODP設定例:mini-single-with-obproxy-example.yaml、single-with-obproxy-example.yaml
分散デプロイメントを選択した場合、つまりターゲットマシンが複数ある場合、分散インストール構成ファイルを参照することができます。
分散デプロイ OceanBaseデータベース設定例:mini-distributed-example.yaml、distributed-example.yaml
分散デプロイ OceanBaseデータベース + ODP設定例:mini-distributed-with-obproxy-example.yaml、distributed-with-obproxy-example.yaml
分散配置の全コンポーネント:all-components-min.yaml、all-components.yaml
設定ファイルを修正します。
説明
ユーザーの環境に合わせて、下記のパラメータを変更する必要があります。
設定ファイルを作成します
vim deploy.yamlここは例です。ユーザーの環境に合わせて、設定ファイル名をカスタマイズできます。
ユーザー名とパスワードを変更します。
## Only need to configure when remote login is required user: username: admin # password: your password if need key_file: /home/admin/.ssh/id_rsa # port: your ssh port, default 22 # timeout: ssh connection timeout (second), default 30usernameは、ターゲットマシンにログインするためのユーザー名です。ユーザー名にhome_pathへの書き込み権限があることを確認する必要があります。passwordとkey_fileはどちらもユーザー認証に使用され、通常はどちらか一方のみを指定すればよいです。注意
秘密鍵のパスを設定後、秘密鍵にパスワードが不要な場合は、
passwordが秘密鍵のパスワードとしてログインに使用され、検証に失敗することを避けるため、コメントするかpasswordを削除するようにしてください。マシンのIPアドレス、ポート、および関連ディレクトリを変更し、メモリ関連パラメータとパスワードを設定します。
oceanbase-ce: # version: 4.3.3.0 servers: # Please don't use hostname, only IP can be supported - name: server1 ip: 10.10.10.1 - name: server2 ip: 10.10.10.2 - name: server3 ip: 10.10.10.3 global: devname: eth0 cluster_id: 1 # please set memory limit to a suitable value which is matching resource. memory_limit: 64G # The maximum running memory for an observer system_memory: 30G # The reserved system memory. system_memory is reserved for general tenants. datafile_size: 192G # Size of the data file. datafile_next: 200G datafile_maxsize: 1T log_disk_size: 192G # The size of disk space used by the clog files. scenario: htap enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true. max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value is 0. enable_auto_start: true # observer cluster name, consistent with obproxy's cluster_name appname: obdemo mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started. obshell_port: 2886 # Operation and maintenance port for OceanBase Database. # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /home/admin/observer # The directory for data storage. The default value is $home_path/store. data_dir: /data # The directory for clog. The default value is the same as the data_dir value. redo_dir: /redo root_password: ****** # root user password, can be empty proxyro_password: ******** # proxyro user pasword, consistent with obproxy's observer_sys_password, can be empty server1: zone: zone1 server2: zone: zone2 server3: zone: zone3マシンに矛盾する構成パラメータが存在する場合には、関連する構成パラメータを対応するserverに移動して設定することができます。設定ファイル内の対応するserverの設定は、
globalよりも優先されます。例えば、2台のマシンでポート設定が異なる場合:server2: mysql_port: 3881 rpc_port: 3882 zone: zone2 server3: mysql_port: 2881 rpc_port: 2882 zone: zone3構成パラメータ 必須かどうか デフォルト値 説明 version オプション イメージリポジトリの最新バージョン デプロイするコンポーネントのバージョンを指定します。通常は指定する必要はありません。 servers 必須 なし 各マシンには - name: マシンID (改行) IPアドレス: マシンIPで指定する必要があります。複数のマシンを指定する場合は複数回指定し、マシンIDは重複できません。
マシンIPが重複しない場合、- <ip> (改行) - <ip>の形式で指定することも可能です。この場合、- <ip>は- name: マシンIP (改行) IPアドレス: マシンIPと同等になります。devname オプション なし serversで指定したIPアドレスに対応するNIC。ip addrコマンドでIPアドレスとNICの対応関係を確認することができます。memory_limit オプション 0 observerプロセスが環境から取得できる最大メモリ。未設定の場合は、 memory_limit_percentageの構成パラメータに従います。詳細については、memory_limitおよび memory_limit_percentageを参照してください。system_memory オプション 0 M 予約済みのシステムメモリ。このパラメータ値は memory_limitのメモリを消費します。設定されていない場合、OceanBaseデータベースは自動的に適応します。datafile_size オプション 0 該当ノードのデータファイル(block_file)サイズを指定します。未設定の場合は、 datafile_disk_percentage構成パラメータに従います。詳細については、datafile_sizeおよび datafile_disk_percentageを参照してください。datafile_next オプション 0 ディスク容量の増分サイズを制御します。自動拡張の設定に使用されます。未設定の場合は、自動拡張機能を有効にするには、ディスクデータファイルの動的拡張の設定を参照してください。 datafile_maxsize オプション 0 ディスク容量の最大使用量の上限を制限します。自動拡張の設定に使用されます。未設定の場合は、自動拡張機能を有効にするには、ディスクデータファイルの動的拡張の設定を参照してください。 log_disk_size オプション 0 Redoログディスクのサイズを設定します。設定されていない場合、 log_disk_percentageの構成パラメータに従います。詳細については、log_disk_sizeおよび log_disk_percentageを参照してください。scenario オプション htap クラスタのワークロードタイプを設定します。未設定の場合、対話形式でタイプを選択するオプションが表示されます。指定可能な値は以下の通りです: express_oltp:商取引、決済基幹システム、高スループットなWebアプリケーションなどのワークロードに適しています。外部キー制約、ストアドプロシージャ、長時間または大規模なトランザクション、複雑な結合(JOIN)、複雑なサブクエリなどを使用しない環境向けです。complex_oltp:銀行や保険システムなどのワークロードに適しています。これらは通常、複雑な結合、複雑な相関サブクエリ、PLで記述されたバッチ処理、および長時間または大規模なトランザクションを含みます。短時間のクエリに対してパラレル実行を使用する場合もあります。olap:リアルタイム・データウェアハウス(DWH)の分析シナリオに適しています。htap:OLAPとOLTPが混在するワークロードに適しています。通常、稼働中の業務データからの即時分析、不正検知、パーソナライズされたレコメンデーションなどに使用されます。kv:キーバリュー(Key-Value)型ワークロードや、HBaseのようなワイドカラム型ワークロードに適しています。これらは通常、非常に高いスループットを持ち、レイテンシ(遅延)に敏感な処理です。
enable_syslog_wf オプション true WARNレベル以上のシステムログを別途ログファイルに出力するかどうかを設定します。 max_syslog_file_count オプション 0 ログファイルのローテーション前に保持できるログファイル数を設定します。値が0の場合は、自動クリーンアップしません。 enable_auto_start オプション 0 observerプロセスの自動起動機能を有効にするかどうかを制御します。この構成パラメータを trueに設定すると、OBServerノードが再起動した際にobserverプロセスが自動的に起動されます。説明
この構成パラメータを設定する際には、デプロイユーザがsudo権限を有し、かつデプロイ環境がコンテナ環境ではないことを確認してください。
appname オプション obcluster OceanBaseクラスタ名を設定します。 mysql_port 必須 2881 SQLサービスのプロトコルポート番号を設定します。デフォルトは2881です。 rpc_port 必須 2882 リモートアクセスのためのプロトコルポート番号を設定します。これは、observerプロセスと他のノードプロセス間のRPC通信ポートであり、デフォルトは2882です。 obshell_port 必須 2886 OceanBaseデータベースの運用保守ポートを設定します。デフォルトは2886です。 home_path 必須 なし OceanBaseデータベースのインストールパス。一般ユーザーadmin以下にインストールすることを推奨します。 data_dir オプション $home_path/store SSTableなどのデータを保存するディレクトリを指定します。独立したディスクへの設定を推奨します。 redo_dir オプション data_dirと同じclogのディレクトリ。デフォルトは data_dirと同じ値ですが、独立したディスクに設定することを推奨します。root_password オプション ランダムな文字列 OceanBaseクラスタのスーパーユーザー(root@sys)のパスワード。複雑なパスワードを設定することを推奨します。obd V2.1.0以降のバージョンを使用する場合、root_passwordを指定しないと、ランダムな文字列が自動生成されます。 proxyro_password オプション ランダムな文字列 ODPがOceanBaseクラスタに接続するために使用するアカウント名(proxyro@sys)のパスワード。obd V2.1.0以降のバージョンを使用する場合は、設定されていない場合自動で一時的な文字列が生成されます。 obproxy-ceコンポーネントを設定し、IPと
home_pathを変更します。obproxy-ce: # version: 4.3.4.0 # package_hash: 5c5dca3a355cc7286146ed978ebb26a6342e42e02cd3ca8b9739d300519a449f depends: - oceanbase-ce servers: - name: server1 # Please don't use hostname, only IP can be supported ip: 10.10.10.1 - name: server2 ip: 10.10.10.2 - name: server3 ip: 10.10.10.3 global: prometheus_listen_port: 2884 listen_port: 2883 rpc_listen_port: 2885 enable_obproxy_rpc_service: true # vip_address: "10.10.10.5" # vip_port: 3306 home_path: /home/admin/obtest/obproxy client_session_id_version: 2 proxy_id: 822 obproxy_sys_password: ******** observer_sys_password: ******** skip_proxy_sys_private_check: true enable_strict_kernel_release: false enable_cluster_checkout: false構成パラメータ 必須かどうか デフォルト値 説明 version オプション イメージリポジトリの最新バージョン デプロイするコンポーネントのバージョンを指定します。通常は指定する必要はありません。 depends オプション なし コンポーネントの依存関係を設定します。設定後、このコンポーネントは依存するコンポーネントから情報を受け取ります。コンポーネントにすでに依存関係がある場合は、この設定は必須になります。 servers 必須 なし 各マシンには - name: マシンID (改行) IPアドレス: マシンIPで指定する必要があります。複数のマシンを指定する場合は複数回指定し、マシンIDは重複できません。
マシンIPが重複しない場合、- <ip> (改行) - <ip>の形式で指定することも可能です。この場合、- <ip>は- name: マシンIP (改行) IPアドレス: マシンIPと同等になります。listen_port 必須 2883 ODPリスニングポート。デフォルトは2883。 prometheus_listen_port 必須 2884 ODP Prometheusのリスニングポート。デフォルトは2884。 rpc_listen_port オプション 2885 ODPのRPCサービスリスニングポート。デフォルトは2885です。 説明
このパラメータは、ODP V4.3.0およびそれ以降のバージョンをデプロイし、かつ
enable_obproxy_rpc_serviceがtrueの場合にのみ有効です。enable_obproxy_rpc_service オプション true ODP RPCサービスの有効化を制御します。デフォルトは trueであり、RPCサービスが有効になります。falseの場合、RPCサービスは無効になり、rpc_listen_port設定は無効になります。説明
このパラメータは、ODP V4.3.0およびそれ以降のバージョンをデプロイする場合のみ有効です。
- このパラメータが未設定の場合、ODPのアップグレード後、このパラメータのデフォルト値は
falseになります。
vip_address オプション なし ODPをマルチノードでデプロイする場合、このオプションを使用してVIPのIPアドレスを設定できます。 注意
V3.3.0から、obdによりODPにVIPの設定がサポートされています。
- obdによるロードバランスのデプロイはサポートされていません。ロードバランシングを設定する場合は、事前に該当するロードバランシングをデプロイして設定する必要があります。
vip_port オプション なし マルチノードODPをデプロイする場合、このオプションを使用してVIPのアクセスポートを設定できます。 注意
V3.3.0以降のobdはODPにVIPを設定することをサポートしています。
- obdはロードバランシングのデプロイメントを提供しません。ロードバランシングを設定するには、事前に適切なロードバランサーをデプロイおよび設定する必要があります。
home_path 必須 なし ODPインストールパス。一般ユーザーadminアカウントでのインストールを推奨します。 client_session_id_version オプション 2 新しいClient Session ID生成ロジックを使用するかどうかを設定します。 1または2のみを設定できます。2に設定した場合、新しいClient Session ID生成ロジックが使用されます。proxy_id オプション 0 異なるODPが生成するClient Session IDの衝突を防ぐため、ODPを識別するIDを設定するために使用します。 client_session_id_version構成パラメータの値によって、proxy_id構成パラメータの値の範囲は次の2つの場合があります。- 構成パラメータ
client_session_id_versionの値を1に設定した場合、構成パラメータproxy_idの値の範囲は [0,255] です。 - 構成パラメータ
client_session_id_versionの値を2に設定した場合、構成パラメータproxy_idの値の範囲は [0,8191] です。
obproxy_sys_password オプション ランダム文字列 ODP管理アカウント(root@proxysys)のパスワードです。obd V2.1.0以降のバージョンで使用する場合、設定されていない場合は自動的にランダムな文字列が生成されます。 observer_sys_password 設定オプション デフォルト値は proxyro_passwordと同じランダム文字列です。ODP が OceanBase 集群に接続する際のアカウント名(proxyro@sys)のパスワードです。パスワード設定値は proxyro_passwordの値と一致させる必要があります。obd V2.1.0 以降のバージョンを使用する場合、設定されていない場合は、proxyro_passwordと同じランダム文字列が自動生成されます。モニタリングコンポーネントを修正します。
obagent: depends: - oceanbase-ce # The list of servers to be monitored. This list is consistent with the servers in oceanbase-ce. servers: - name: server1 ip: 10.10.10.1 - name: server2 ip: 10.10.10.2 - name: server3 ip: 10.10.10.3 global: monagent_http_port: 8088 mgragent_http_port: 8089 home_path: /home/admin/obagent http_basic_auth_password: ******** prometheus: servers: - 10.10.10.4 depends: - obagent global: port: 9090 # The working directory for prometheus. prometheus is started under this directory. This is a required field. home_path: /home/admin/prometheus basic_auth_users: #<username>: <password>, the key is the user name and the value is the password. admin: ******** grafana: servers: - 10.10.10.4 depends: - prometheus global: port: 3000 login_password: ******** home_path: /home/admin/grafana構成パラメータ 必須かどうか デフォルト値 説明 servers 必須 なし 各マシンには - name: マシンID (改行) IPアドレス: マシンIPで指定する必要があります。複数のマシンを指定する場合は複数回指定し、マシンIDは重複できません。
マシンIPが重複しない場合、- <ip> (改行) - <ip>の形式で指定することも可能です。この場合、- <ip>は- name: マシンIP (改行) IPアドレス: マシンIPと同等になります。depends オプション 無し コンポーネントの依存関係を設定します。設定後、このコンポーネントはデpendentコンポーネントから情報を自動的に取得します。以前、コンポーネントに依存関係が存在した場合は、この構成プロパティは必須になります。 home_path 必須 なし コンポーネントのインストールパス。一般ユーザーadminアカウントでのインストールを推奨します。 monagent_http_port 必須 8088 OBAgentの監視サービスポート。 mgragent_http_port 必須 8089 OBAgentの管理サービスポート。 http_basic_auth_password オプション ランダム文字列 HTTP サービス認証のパスワード。カスタマイズされている場合、パスワードの最小長は1文字以上であり、数値(0~9)、大文字(A~Z)、小文字(a~z)、特殊記号( ~^*{}[]_-+)を含めることができます。設定されていない場合は、obdがランダム文字列を自動生成します。デプロイが成功した後、obd cluster edit-configコマンドを使用して設定ファイル内の対応するパラメータからパスワードを取得できます。basic_auth_users オプション admin: *****
ここで、adminはユーザー名、*****はランダム生成されたパスワードを表します。Prometheus Web サービスの認証情報。キー名はユーザー名、値はパスワードです。 login_password オプション ランダムな文字列 Grafana ログインパスワード。デプロイが成功すると、 obd cluster edit-configコマンドで設定ファイルの該当するパラメータからパスワードを取得できます。
ステップ3:OceanBaseクラスタのデプロイ
説明
このセクションで使用するコマンドの詳細な使用方法については、OceanBaseインストールデプロイツールドキュメントのクラスタコマンドグループを参照することができます。
OceanBaseクラスタのデプロイ
[admin@test001 ~]$ obd cluster deploy obtest -c deploy.yamlネットワーク接続環境下で、
obd cluster deployコマンドを実行した後、obdはターゲットマシンに必要なインストールパッケージがインストール済みかどうかを確認します。インストールパッケージが存在しない場合、obdは自動的にYUMリポジトリから取得します。OceanBaseクラスタを起動する
[admin@test001 ~]$ obd cluster start obtest起動が成功すると、obshell Dashboard および監視コンポーネントへのアクセス用アドレスが表示されます。なお、Alibaba Cloud などのクラウド環境では、インストーラーがグローバル IP(パブリック IP)を取得できず、代わりにプライベート IP(内部アドレス)が表示される場合があります。この IP は外部アクセス用ではないため、接続には正しいアドレスを使用してください。
OceanBaseクラスタの状態を確認する
# obdが管理するクラスタ一覧を表示する [admin@test001 ~]$ obd cluster list # obtestクラスタの状態を確認する [admin@test001 ~]$ obd cluster display obtest(オプション)クラスタ構成の変更
OceanBaseデータベースには数百もの構成パラメータがあり、一部の構成パラメータは互いに依存関係にあります。OceanBaseについて十分に理解するまでは、サンプル構成ファイルの設定を変更することは推奨しません。ここでは、設定の変更方法と、その有効化について説明する例を示します。
obd cluster edit-configコマンドで編集モードに入り、クラスタ設定を変更します。[admin@test001 ~]$ obd cluster edit-config obtest設定を変更して保存後、obdは変更を有効にする方法を通知します。変更を保存したら、以下を入力します。
Search param plugin and load ok Search param plugin and load ok Parameter check ok Save deploy "obtest" configuration Use `obd cluster reload obtest` to make changes take effect.obdが出力したコマンドをコピーして実行します。
[admin@test001 ~]$ obd cluster reload obtest
ステップ4:OceanBaseクラスタへの接続
ここでは、OBClientクライアントを使用して、OceanBaseクラスタに接続する例を示します:
obclient -h<IP> -P<PORT> -u<user_name>@<tenant_name>#<cluster_name> -p -c -A
# example
obclient -h10.10.10.4 -P2883 -uroot@sys#obdemo -p -c -A
パラメータの説明:
-h:OceanBaseデータベース接続用のIPアドレスを提供します。直接続の場合はOBServerノードのアドレス、ODP経由接続の場合はODPアドレスとなります。
-u:OceanBaseデータベースへの接続アカウントを提供します。形式は以下のとおりです:
ユーザー名@テナント名#クラスタ名、クラスタ名:テナント名:ユーザー名、クラスタ名-テナント名-ユーザー名またはクラスタ名.テナント名.ユーザー名。MySQLテナントの管理者ユーザー名は、デフォルトでrootです。注意
接続時に使用するクラスタ名は、設定ファイル内の
appnameの設定名であり、デプロイ時のdeploy nameではありません。-P:OceanBaseデータベースへの接続ポートを提供します。直接接続の場合は
mysql_portの構成パラメータの値、ODP経由の場合はlisten_portの構成パラメータの値となります。-p:OceanBaseデータベースへの接続パスワードが提供されます。
-c:OBClient実行環境において、コメントを無視しないことを示します。
説明
ヒントは特別なコメントであり、-cオプションの影響を受けません。
-A:OBClientがデータベースに接続する際、統計情報を自動的に取得しないことを示します。
OceanBaseクラスタへの接続に関する詳細な手順については、OceanBaseデータベースへの接続の章を参照することができます。
ステップ5:ユーザーテナントの作成
OceanBaseクラスタのデプロイ後、ユーザーテナントを作成して業務操作を行うことを推奨します。sysテナントはクラスタ管理専用であり、業務シナリオでの使用には適していません。
ユーザーテナントの作成には、以下の2つの方法があります:
方法1:obdを使用してユーザーテナントを作成します。
obd cluster tenant create <deploy name> [-n <tenant name>] [flags] # example obd cluster tenant create test -n obmysql --max-cpu=2 --memory-size=2G --log-disk-size=3G --max-iops=10000 --iops-weight=2 --unit-num=1 --charset=utf8このコマンドは、デフォルトでクラスタの残りのすべての利用可能なリソースを使用してテナントを作成します。各パラメータを設定することで、テナントが消費するリソース量を制御できます。コマンドの詳細な使用方法については、obdマニュアルの クラスタコマンドグループにある
obd cluster tenant createコマンドを参照してください。方法2:コマンドラインでユーザーテナントを作成します。詳細については、テナントの作成を参照してください。
関連操作
クラスタ管理
obdにデプロイされたクラスタを管理するには、以下のコマンドを実行することができます。詳細なコマンドについては、OceanBaseインストール・デプロイツールドキュメントの クラスタコマンドグループを参照してください。
# クラスタ一覧の表示
obd cluster list
# デプロイメント名obtestを例に、クラスタの状態を確認します
obd cluster display obtest
# デプロイメント名obtestを例に、実行中のクラスタを停止します
obd cluster stop obtest
# デプロイメント名obtestを例に、デプロイ済みのクラスタを削除します
obd cluster destroy obtest
OceanBase All in Oneのアンインストール
インストール済みのOceanBase All in Oneをアンインストールする手順は以下のとおりです。
インストールパッケージのアンインストール
[admin@test001 ~]$ cd oceanbase-all-in-one/bin/ [admin@test001 bin]$ ./uninstall.sh環境変数を削除する
[admin@test001 bin]$ vim ~/.bash_profile # このファイルからsource /home/admin/.oceanbase-all-in-one/bin/env.shを削除します変更を有効にする
環境変数を削除した後は、端末に再ログインするか、またはsourceコマンドを実行して変更を有効にする必要があります。以下のコマンドを参照することができます。
[admin@test001 ~]$ source ~/.bash_profile