この記事では、Dockerを使用したOATのデプロイ方法について説明します。
前提条件
OATサーバーをインストールするオペレーティングシステムが要件を満たしていること。詳細については、サーバー設定を参照してください。
Dockerをインストールし、起動済みであること。Dockerの推奨バージョンは、Community Edition 17.03以降です。
注意
oat-all-in-oneインストールパッケージを使用してOATをデプロイする場合は、oat-all-in-oneの
install.shスクリプトによってDockerが自動的にインストールされるため、Dockerを別途インストールする必要はありません。OATのデフォルトポート
7000が使用されていないこと。サーバーの
rootユーザー権限を持っていること。
操作手順
プラン1:oat-all-in-oneインストールパッケージを使用したOATのデプロイ
注意
oat-all-in-oneインストールパッケージを使用してデプロイする前に、ターミナルでsetenforce 0コマンドを実行して、SELinux(Security-Enhanced Linux)を無効にすることを推奨します。
scpコマンドを使用して、oat-all-in-oneインストールパッケージをサーバーにアップロードします。ここで、
oat_server_ipはOATをデプロイするサーバーのIPアドレス、oat_directoryはインストールパッケージを格納しているディレクトリ、oat_xxx.tarはインストールパッケージの名前です。scp <oat_directory/oat-all-in-one-xxx.tar> <oat_server_user>@<oat_server_ip>:oat_directory例:
[root@xxx /home/admin/rpm]# scp oat-all-in-one-x86-411.tar admin@xxx.xxx.xxx.xxx:/home/admin/rpm admin@xxx.xxx.xxx.xxx's password: oat-all-in-one-x86-411.tar 100% 1649MB 401.9MB/s 00:04oat-all-in-oneインストールパッケージを解凍します。
例:
[root@xxx /home/admin/rpm]# tar -xf oat-all-in-one-x86-411.tarインストールスクリプト
install.shを実行します。解凍ディレクトリ
oat-all-in-one-x86内のインストールスクリプトinstall.shを実行します。sh oat-all-in-one-x86/install.shDockerがインストールされていない環境でこのコマンドを実行すると、Dockerが自動的にインストールされてOATがデプロイされ、既存のイメージとツールソフトウェアパッケージがスキャンされます。
プロンプトに従って、以下の情報を順番に確認します:
- Dockerのルートディレクトリを指定してください。デフォルトは
/dockerで、カスタマイズ可能です。Dockerがインストール済みであれば、この手順はスキップされます。 - OATデータディレクトリのパスを指定してください。デフォルトは
/oat_dataで、カスタマイズ可能です。 - OAT HTTPリスニングポートを指定してください。デフォルトは
7000で、カスタマイズ可能です。 - OATデータベースのポートを指定してください。デフォルトは
3306で、カスタマイズ可能です。 - OAT管理者アカウントのパスワードを入力してください(初期ログインパスワードの設定)。カスタマイズ可能です。
- 返されたURLでOATにアクセスし、OATサービスの可用性を検証します。
例:
[root@xxx /home/admin/rpm]# sh oat-all-in-one-x86/install.shプロンプトに従って、以下の設定を完了します:
Dockerのルートディレクトリはデフォルトを使用します。そのままEnterキーを押します。
Before installation, please set the config below: Input the docker root dir: /dockerOATデータディレクトリのパスを
/home/admin/oat_dataに変更して、Enterキーを押します。Input the OAT data dir: /home/admin/oat_dataOAT HTTPリスニングポートはデフォルトを使用します。そのままEnterキーを押します。
Input the OAT HTTP listen port: 7000OATデータベースポートはデフォルトを使用します。そのままEnterキーを押します。
Input the OAT database port: 3306OAT管理者アカウントのパスワード(初期ログインパスワード)はデフォルトを使用します。そのままEnterキーを押します。
Input the OAT admin user password(login password): ******返されたURLでOATにアクセスし、OATサービスの可用性を検証します。
結果は次の通りとなります:
Start prepare docker Docker is already exists, start check... Already installed docker check healthy, skip install docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. Start prepare OAT Loaded image: reg.docker.alibaba-inc.com/oceanbase/oat:4.1.1_20230512_x86 f4f5dbe127f62f9ec016dabfc6b1b272da2dd7794c255aed9e335cb83192ad2b check OAT url http://127.0.0.1:7000/hc curl: (7) Failed connect to 127.0.0.1:7000; Connection refused OAT API not ready, please wait, sleep 5s retry... curl: (7) Failed connect to 127.0.0.1:7000; Connection refused OAT API not ready, please wait, sleep 5s retry... curl: (7) Failed connect to 127.0.0.1:7000; Connection refused OAT API not ready, please wait, sleep 5s retry... curl: (7) Failed connect to 127.0.0.1:7000; Connection refused OAT API not ready, please wait, sleep 5s retry... OAT API ready Copy images and binary_packages to OAT data dir Trigger OAT scan api to find images and binary_packages Trigger scan task success, please visit OAT web site and wait for scan task finished OAT is ready for visit url is: http://xxx.xxx.xxx.xxx:7000 user/password is: XXXXX/******
- Dockerのルートディレクトリを指定してください。デフォルトは
説明
install.shスクリプトは、OATコンテナの起動時にデフォルトで--net host(ホストネットワークモード)を使用します。他のネットワークモードに設定する必要がある場合は、OATコンテナをダウンロードして手動で起動してください。- x86(aarch64)版のoat-all-in-oneには、デフォルトでx86(aarch64)およびnoarchのイメージとソフトウェアパッケージのみが含まれています。aarch64(x86)アーキテクチャが必要な場合は、ご自身でダウンロードしてOATコンテナのマウントディレクトリにコピーし、スキャンタスクを実行して追加してください。
プラン2:OAT dockerイメージを使用したOATの独立デプロイ
scpコマンドを使用して、OATインストールパッケージをサーバーにアップロードします。ここで、
oat_server_ipはOATをデプロイするサーバーのIPアドレス、oat_directoryはインストールパッケージを格納しているディレクトリ、oat_xxx.tarはインストールパッケージの名前です。scp <oat_directory/oat_xxx.tar> <oat_server_user>@<oat_server_ip>:oat_directory例:
[root@xxx /home/admin/rpm]# scp oat_4.1.0_20230331_x86.tgz admin@xxx.xxx.xxx.xxx:/home/admin/rpm admin@xxx.xxx.xxx.xxx's password: oat_4.1.0_20230331_x86.tgz 100% 438MB 4.3MB/s 01:41OATディレクトリをマウントします。
サーバー上に
/data_dirディレクトリを作成して、OATの永続化データを保存します。/data_dirディレクトリがOATコンテナにマウントされると、OATは自動的に/data_dir/logs、/data_dir/images、/data_dir/dbディレクトリを作成し、それぞれにOATのシステムログ、コンポーネントとプロダクトのDockerイメージ、OATのデータベースファイルを格納します。例:[root@xxx /]# mkdir -p /data_dirOATインストールパッケージをイメージとしてロードします。
OATインストールパッケージが保存されているディレクトリに移動し、以下のコマンドを実行します:
[root@xxx /]# cd oat_directory [root@xxx /oat_directory]# docker load -i oat_xxx.tar例:
[root@xxx /]# cd /home/admin/rpm [root@xxx /home/admin/rpm]# docker load -i oat_4.1.0_20230331_x86.tgz 06f6bfff6616: Loading layer [==================================================>] 230.8MB/230.8MB e1505344677e: Loading layer [==================================================>] 3.072kB/3.072kB 01ede0eada53: Loading layer [==================================================>] 690.2MB/690.2MB 78073091fd9e: Loading layer [==================================================>] 8.704kB/8.704kB 5d96997aeb89: Loading layer [==================================================>] 232.8MB/232.8MB 17fa9a0a477e: Loading layer [==================================================>] 156.1MB/156.1MB Loaded image: reg.docker.alibaba-inc.com/oceanbase/oat:4.1.0_20230331_x86docker imagesコマンドを使用して、OATイメージのタグを取得します。説明
以下のコマンドは、ローカルにOATインストールパッケージが1つのみロードされている場合にのみ適用されます。複数のインストールパッケージがロードされている場合は、
docker imagesコマンドで表示内容を確認し、コロン(:)を使用して最初の2列の内容を連結します。oat_image=`docker images | grep oat | awk '{printf $1":"$2"\n"}'`例:
[root@xxx /home/admin/rpm]# oat_image=`docker images | grep oat | awk '{printf $1":"$2"\n"}'`docker runコマンドを実行して、OATを起動します。$oat_imageはOATイメージのタグです。docker run -d --net host --name oat -v /data_dir:/data --restart on-failure:5 $oat_image説明
- OATのHTTPサービスはデフォルトで
7000ポートをリッスンしますが、-e HTTP_PORT=7001パラメータを指定して他のポートに変更できます。 -e OAT_INITIAL_ADMIN_PASSWORD=xxxパラメータを指定して、OATのパスワードを変更できます。- OATはMariaDBをデータストレージとして内蔵しており、デフォルトで
3306ポートをリッスンしますが、-e DB_PORT=3307パラメータを指定して他のポートに変更できます。 --net hostパラメータを指定して起動することを推奨します。bridgeネットワークモードで起動されたコンテナは、docker0ブリッジの障害やOSパラメータip_forwardの影響を受ける可能性があるためです。
例:
[root@xxx /home/admin/rpm]# docker run -d --net host --name oat -v /data_dir:/data --restart on-failure:5 `docker images | grep oat | awk '{printf $1":"$2"\n"}'` 79978776c4d478d36b0b61d6ccfb186d39dbd2d29695a27937d0fc654b58ffb9- OATのHTTPサービスはデフォルトで
次の操作
OATのデプロイが完了したら、OATにログインしてデプロイの成功を確認する必要があります。
ブラウザにOATのアクセスアドレスを入力し、Enterキーを押します。
OATのアクセスアドレス:
http://oat_server_ip:7000。ここで、
oat_server_ipはOATをデプロイしたサーバーのIPアドレスです。ブラウザのウィンドウにログイン画面が表示されれば、OATのインストールと起動に成功しています。
表示されたログインページで、
adminアカウントを使用してシステムにログインします。注意
OceanBaseアフターサービスサポートにお問い合わせいただき、OATのデフォルトユーザー名adminアカウントのデフォルトパスワードを取得してください。アカウントのセキュリティを確保するため、初回ログイン後、速やかにパスワードを変更してください。
パスワードを設定してアカウントを有効化します。
adminアカウントのデフォルトパスワードでログインし、パスワードを設定してアカウントを有効化します。
関連ドキュメント
OATのインストールに関する詳細は、OATのインストールを参照してください。