本記事では、obdのコマンドラインを使用して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公式Webサイトを参照してください。
Prometheus
Prometheusはオープンソースのサービス監視システムおよび時系列データベースで、汎用的なデータモデルと、迅速なデータ収集、保存、およびクエリのためのインターフェースを提供します。詳細については、Prometheus公式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とアプリケーションを1台のマシンにデプロイすることを推奨します。これにより、ODPがアプリケーションにアクセスする時間を節約できます。各アプリケーションのサーバーに1つのODPサービスをデプロイできます。
ODPをデプロイするマシンの構成は、OceanBaseデータベースをデプロイするマシンの構成と異なっていてもかまいません。ODPのデプロイには、最低でも1コア/1GBのメモリが必要です。
単一マシンでのデプロイ操作手順については、OceanBaseインストール・デプロイツールのドキュメントにあるOceanBaseクラスタのデプロイを参照してください。
手順
注意
以下の内容は、x86アーキテクチャのCentOS Linux 7.9イメージを環境としています。他の環境では若干異なる場合があります。
OceanBaseクラスタをデプロイする前に、データのセキュリティ上の理由から、root以外のユーザーに切り替えることを推奨します。
ステップ1:(オプション) OceanBase All in Oneをダウンロードしてインストールする
V4.0.0以降、OceanBaseは統一されたインストーラーである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ソフトウェアダウンロードセンターから最新のOceanBase All in Oneインストーラーをダウンロードし、中央管理マシンの任意のディレクトリにコピーします。
インストーラーがあるディレクトリで、以下のコマンドを実行してインストーラーを解凍し、インストールします。
[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ソフトウェアダウンロードセンターから該当するコンポーネントのバージョンのインストールパッケージを自分でダウンロードしてください。ダウンロードしたインストールパッケージをコントロールマシンの任意のディレクトリにコピーし、そのディレクトリで以下のステップ1~3に従って、インストールパッケージを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種類があります。2つのモードの設定ファイルは構成パラメータが基本的に同じで、設定される仕様が若干異なります。実際のリソース状況に応じて選択してください。
スモールスペック開発モード:個人用デバイス(メモリ8GB以上)に適しており、設定ファイル名に
miniまたはminの識別子が含まれます。プロフェッショナル開発モード:高スペックのECSまたは物理サーバー(利用可能リソースが16コア64GB以上)に適しています。
シングルマシンデプロイを選択した場合、つまりターゲットマシンが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: マシン識別子 (改行)ip: マシンIPの形式で指定する必要があります。複数のマシンがある場合は、それぞれ指定します。マシン識別子は重複してはなりません。
マシンIPが重複しない場合、- <ip> (改行) - <ip>の形式でも指定できます。この場合、- <ip>の形式は- name: マシンIP(改行)ip: マシンIPと同じ意味になります。devname オプション なし serversで指定したIPに対応するNICです。IPとNICの対応関係はip addrコマンドで確認できます。memory_limit オプション 0 observerプロセスが環境から取得できる最大メモリです。設定されていない場合は memory_limit_percentageパラメータの値が適用されます。詳細については memory_limitおよび memory_limit_percentageを参照してください。system_memory オプション 0M 予約済みのシステムメモリです。このパラメータの値は 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:貿易、決済基幹システム、インターネットの高スループットアプリケーションなどのワークロードに適しています。外部キーなどの制約がなく、ストアドプロシージャ、長トランザクション、大規模トランザクション、複雑な結合、複雑なサブクエリもありません。complex_oltp:銀行、保険システムなどのワークロードに適しています。これらは通常、複雑な結合、複雑な相関サブクエリ、PLで記述されたバッチ処理ジョブ、長トランザクション、大規模トランザクションを特徴とします。短時間で実行されるクエリでは、パラレル実行が使用されることがあります。olap:リアルタイムデータウェアハウス分析シナリオに適しています。htap:OLAPとOLTPの混合ワークロードに適しています。通常、アクティブな運用データ、不正検出、パーソナライズドレコメンデーションから即時の洞察を得るために使用されます。kv:キー値ワークロードや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以降を使用する場合、設定しないとランダム文字列が自動生成されます。 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: マシン識別子 (改行)ip: マシンIPの形式で指定する必要があります。複数のマシンがある場合は、それぞれ指定します。マシン識別子は重複してはなりません。
マシン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アドレスを設定できます。 注意
obdはV3.3.0からODPにVIPを設定できるようになりました。
- obdはロードバランシングのデプロイは提供していません。ロードバランシングを設定する必要がある場合は、事前に対応するロードバランシングをデプロイして設定してください。
vip_port オプション なし 複数ノードのODPをデプロイする場合、このオプションでVIPのアクセスポートを設定できます。 注意
obdはV3.3.0から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を識別するIDを設定します。これにより、異なるODPが生成するClient Session 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: マシン識別子 (改行)ip: マシンIPの形式で指定する必要があります。複数のマシンがある場合は、それぞれ指定します。マシン識別子は重複してはなりません。
マシンIPが重複しない場合は、- <ip> (改行) - <ip>の形式でも指定できます。この場合、- <ip>の形式は- name: マシンIP(改行)ip: マシンIPと同じ意味です。depends オプション なし コンポーネントの依存関係を設定します。設定後、現在のコンポーネントは依存コンポーネントから情報を自動的に取得します。コンポーネント間に依存関係が存在する場合は、このパラメータは必須です。 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はパブリックアドレスではないため、正しいアドレスを使用する必要があります。
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の実行環境でコメントを無視しないことを示します。
説明
Hintは特殊なコメントであり、-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