Deploy StarRocks with Docker
Dockerを使用してStarRocksをデプロイする
このクイックスタートチュートリアルでは、Dockerを使用してローカルマシンにStarRocksをデプロイする手順を案内します。始める前に、StarRocksのアーキテクチャを読んで概念的な詳細を確認することができます。
以下の手順に従うことで、1つのFEノードと1つのBEノードを持つシンプルなStarRocksクラスターをデプロイできます。これにより、テーブルの作成やデータの読み込みとクエリなどの次のクイックスタートチュートリアルを完了させ、StarRocksの基本的な操作に慣れることができます。
注意
このチュートリアルで使用されるDockerイメージを使用してStarRocksをデプロイする場合、小規模なデータセットでのDEMOの検証が必要な場合にのみ適用されます。大規模なテストや本番環境では推奨されません。高可用性のStarRocksクラスターをデプロイするには、シナリ オに合わせた他のオプションについてはデプロイの概要を参照してください。
前提条件
DockerでStarRocksをデプロイする前に、以下の要件を満たしていることを確認してください:
- ハードウェアStarRocksを8つのCPUコアと16GB以上のメモリを持つマシンにデプロイすることをおすすめします。
- ソフトウェアマシンに以下のソフトウェアがインストールされている必要があります:
- Dockerエンジン (17.06.0以降)
- MySQLクライアント (5.5以降)
ステップ1: StarRocks Dockerイメージのダウンロード
StarRocks Docker HubからStarRocks Dockerイメージをダウンロードします。イメージのタグに基づいて特定のバージョンを選択することができます。
sudo docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 \
-itd starrocks/allin1-ubuntu
トラブルシューティング
上記のホストマシンのいずれかのポートが使用されている場合、システムは「docker: Error response from daemon: driver failed programming external connectivity on endpoint tender_torvalds (): Bind for 0.0.0.0:xxxx failed: port is already allocated.」と表示されます。コマンド内のコロン(:)の前のポートを変更することで、ホストマシンの利用可能なポートを割り当てることができます。
次の コマンドを実行して、コンテナが正常に作成され、実行されているかを確認できます:
sudo docker ps
以下のように表示されれば、お使いのStarRocksコンテナのSTATUS
がUp
であれば、DockerコンテナにStarRocksが正常にデプロイされています。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8962368f9208 starrocks/allin1-ubuntu:branch-3.0-0afb97bbf "/bin/sh -c ./start_…" 4 minutes ago Up 4 minutes 0.0.0.0:8037->8030/tcp, :::8037->8030/tcp, 0.0.0.0:8047->8040/tcp, :::8047->8040/tcp, 0.0.0.0:9037->9030/tcp, :::9037->9030/tcp xxxxx
ステップ2: StarRocksに接続する
StarRocksが正常にデプロイされた後、MySQLクライアントを使用してStarRocksに接続することができます。
mysql -P9030 -h127.0.0.1 -uroot --prompt="StarRocks > "
注意
docker run
コマンドで異なるポートを9030
に割り当てた場合、上記の コマンド内の9030
を割り当てたポートに置き換える必要があります。
次のSQLを実行して、FEノードのステータスを確認できます:
SHOW PROC '/frontends'\G
例:
StarRocks > SHOW PROC '/frontends'\G
*************************** 1. row ***************************
Name: 8962368f9208_9010_1681370634632
IP: 8962368f9208
EditLogPort: 9010
HttpPort: 8030
QueryPort: 9030
RpcPort: 9020
Role: LEADER
ClusterId: 555505802
Join: true
Alive: true
ReplayedJournalId: 99
LastHeartbeat: 2023-04-13 07:28:50
IsHelper: true
ErrMsg:
StartTime: 2023-04-13 07:24:11
Version: BRANCH-3.0-0afb97bbf
1 row in set (0.02 sec)
- フィールド
Alive
がtrue
の場合、このFEノードは正常に起動され、クラスターに追加されています。 - フィールド
Role
がFOLLOWER
の場合、このFEノードはリーダーFEノードに選ばれる資格があります。 - フィールド
Role
がLEADER
の場合、このFEノードはリーダーFEノードです。
次のSQLを実行して、BEノードのステータスを確認できます:
SHOW PROC '/backends'\G
例:
StarRocks > SHOW PROC '/backends'\G
*************************** 1. row ***************************
BackendId: 10004
IP: 8962368f9208
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2023-04-13 07:24:25
LastHeartbeat: 2023-04-13 07:29:05
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 30
DataUsedCapacity: 0.000
AvailCapacity: 527.437 GB
TotalCapacity: 1.968 TB
UsedPct: 73.83 %
MaxDiskUsedPct: 73.83 %
ErrMsg:
Version: BRANCH-3.0-0afb97bbf
Status: {"lastSuccessReportTabletsTime":"2023-04-13 07:28:26"}
DataTotalCapacity: 527.437 GB
DataUsedPct: 0.00 %
CpuCores: 16
NumRunningQueries: 0
MemUsedPct: 0.02 %
CpuUsedPct: 0.1 %
1 row in set (0.00 sec)
フィールドAlive
がtrue
の場合、このBEノードは正常に起動され、クラスターに追加されています。
Dockerコンテナの停止と削除
クイックスタートチュートリアル全体を完了した後は、StarRocksクラスターをホストするコンテナを停止して削除することができます。コンテナIDを使用して、コンテナを特定します。
注意
Dockerコンテナの
container_id
は、sudo docker ps
を実行して取得できます。
以下のコマンドを実行してコンテナを停止します:
# <container_id>をStarRocksクラスターのコンテナIDに置き換えてください。
sudo docker stop <container_id>
コンテナをもう必要としない場合は、以下のコマンド を実行して削除することができます:
# <container_id>をStarRocksクラスターのコンテナIDに置き換えてください。
sudo docker rm <container_id>
注意
コンテナの削除は取り消すことができません。コンテナを削除する前に、重要なデータのバックアップがあることを確認してください。
次に何をするか
StarRocksをデプロイした後は、テーブルの作成やデータの読み込みとクエリなどのクイックスタートチュートリアルを続けることができます。