クイックスタート
以下の迅速なデプロイメント方法は、ローカル開発とテスト専用であり、本番環境では使用すべきではありません。理由は以下の通りです:
-
データの脆弱性: Dockerデプロイメントを使用する場合、コンテナの破棄時にデータが失われるため、データが簡単に失われる可能性があります。単一レプリカインスタンスの手動デプロイメントは、データの冗長性とバックアップ機能が不足しており、マシンの障害がデータ損失を引き起こす可能性があります。
-
単一レプリカ構成: 例のテーブル作成文はすべて単一レプリカです。本番環境では、データの信頼性を確保するために、マルチレプリカストレージを使用する必要があります。
Dockerを使用したクイックデプロイメント
Dorisバージョン2.1.8以降、Dockerを迅速なデプロイメントに使用できます。
ステップ1: Quick-Startスクリプトをダウンロード
スクリプトをダウンロード し、以下のコマンドを実行して対応する実行権限を付与します。
chmod 755 start-doris.sh
Step 2: クラスターを開始する
スクリプトを実行してクラスターを開始します。デフォルトで2.1.9バージョンを使用します
bash start-doris.sh
-v パラメータを使用して起動バージョンを指定できます。例:
bash start-doris.sh -v 2.1.8
ステップ 3: MySQL クライアントを使用してクラスターに接続し、クラスターステータスを確認する
## Check the FE status to ensure that both the Join and Alive columns are true.
mysql -uroot -P9030 -h127.0.0.1 -e 'SELECT `host`, `join`, `alive` FROM frontends()'
+-----------+------+-------+
| host | join | alive |
+-----------+------+-------+
| 127.0.0.1 | true | true |
+-----------+------+-------+
## Check the BE status to ensure that the Alive column is true.
mysql -uroot -P9030 -h127.0.0.1 -e 'SELECT `host`, `alive` FROM backends()'
+-----------+-------+
| host | alive |
+-----------+-------+
| 127.0.0.1 | 1 |
+-----------+-------+
ローカル環境での簡単デプロイメント
-
オペレーティングシステム: CentOS 7.1やUbuntu 16.04以上などのAMD/ARM主要Linux環境の使用を推奨します。
-
Java環境: Java 8ランタイム環境の使用を推奨します。Oracle JDK商用ライセンスを使用しないユーザーは、無料のOracle JDK 8u300以降のバージョンを使用してください。
-
ユーザー権限: Linux上で新しいDorisユーザーを作成し、rootユーザーでの操作は避けることを推奨します。
ステップ1: バイナリパッケージのダウンロード
Apache Dorisウェブサイトのこちらから対応するバイナリインストールパッケージをダウンロードし、展開してください。
ステップ2: 環境変数の変更
-
システムの最大オープンファイルディスクリプタ制限の変更
以下のコマンドを使用して最大ファイルディスクリプタ制限を調整してください。この変更後、設定を適用するためにセッションを再起動する必要があります:
vi /etc/security/limits.conf
* soft nofile 1000000
* hard nofile 1000000 -
仮想メモリ領域の変更
以下のコマンドを使用して、仮想メモリ領域を最低2000000に永続的に変更し、変更を即座に適用します:
cat >> /etc/sysctl.conf << EOF
vm.max_map_count = 2000000
EOF
## Take effect immediately
sysctl -p
ステップ 3: FE をインストールする
-
FE を設定する
FE 設定ファイル
apache-doris/fe/conf/fe.confで以下の内容を修正してください:## Specify Java environment
JAVA_HOME=/home/doris/jdk
## Specify the CIDR block for FE listening IP
priority_networks=127.0.0.1/32 -
FEの開始
start_fe.shスクリプトを実行してFEプロセスを実行します:apache-doris/fe/bin/start_fe.sh --daemon -
FE ステータスの確認
MySQL クライアントを使用してクラスターに接続し、クラスターステータスを確認します:
## Check FE Status to ensure that both the Join and Alive columns are true
mysql -uroot -P9030 -h127.0.0.1 -e "show frontends;"
+-----------------------------------------+-----------+-------------+----------+-----------+---------+----------+----------+-----------+------+-------+-------------------+---------------------+----------+--------+-------------------------+------------------+
| Name | Host | EditLogPort | HttpPort | QueryPort | RpcPort | Role | IsMaster | ClusterId | Join | Alive | ReplayedJournalId | LastHeartbeat | IsHelper | ErrMsg | Version | CurrentConnected |
+-----------------------------------------+-----------+-------------+----------+-----------+---------+----------+----------+-----------+------+-------+-------------------+---------------------+----------+--------+-------------------------+------------------+
| fe_9d0169c5_b01f_478c_96ab_7c4e8602ec57 | 127.0.0.1 | 9010 | 8030 | 9030 | 9020 | FOLLOWER | true | 656872880 | true | true | 276 | 2024-07-28 18:07:39 | true | | doris-2.0.12-2971efd194 | Yes |
+-----------------------------------------+-----------+-------------+----------+-----------+---------+----------+----------+-----------+------+-------+-------------------+---------------------+----------+--------+-------------------------+------------------+
ステップ4: BEのインストール
-
BEの設定
BE設定ファイル
apache-doris/be/conf/be.conf内の以下の内容を変更してください:## Specify Java environment
JAVA_HOME=/home/doris/jdk
## Specify the CIDR block for BE's listening IP
priority_networks=127.0.0.1/32 -
BEの開始
以下のコマンドでBEプロセスを開始します:
apache-doris/be/bin/start_be.sh --daemon -
クラスター内でBEノードを登録
MySQLクライアントを使用してクラスターに接続:
mysql -uroot -P9030 -h127.0.0.1
ADD BACKEND コマンドを使用して BE ノードを登録します:
ALTER SYSTEM ADD BACKEND "127.0.0.1:9050";
-
BE ステータスの確認
MySQL クライアントを使用してクラスターに接続し、クラスターのステータスを確認します:
## Check BE Status to ensure that the Alive column is true
mysql -uroot -P9030 -h127.0.0.1 -e "show backends;"
+-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+
| BackendId | Host | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime | LastHeartbeat | Alive | SystemDecommissioned | TabletNum | DataUsedCapacity | TrashUsedCapcacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | RemoteUsedCapacity | Tag | ErrMsg | Version | Status | HeartbeatFailureCounter | NodeRole |
+-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+
| 10156 | 127.0.0.1 | 9050 | 9060 | 8040 | 8060 | 2024-07-28 17:59:14 | 2024-07-28 18:08:24 | true | false | 14 | 0.000 | 0.000 | 8.342 GB | 19.560 GB | 57.35 % | 57.35 % | 0.000 | {"location" : "default"} | | doris-2.0.12-2971efd194 | {"lastSuccessReportTabletsTime":"2024-07-28 18:08:14","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false} | 0 | mix |
+-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+
クエリの実行
-
MySQL クライアントを使用してクラスターに接続する:
mysql -uroot -P9030 -h127.0.0.1 -
データベースとテストテーブルの作成:
create database demo;
use demo;
create table mytable
(
k1 TINYINT,
k2 DECIMAL(10, 2) DEFAULT "10.05",
k3 CHAR(10) COMMENT "string column",
k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
)
COMMENT "my first table"
DISTRIBUTED BY HASH(k1) BUCKETS 1
PROPERTIES (
"replication_num" = "1"
); -
テストデータのインポート:
Insert Into文を使用してテストデータを挿入する
insert into mytable values
(1,0.14,'a1',20),
(2,1.04,'b2',21),
(3,3.14,'c3',22),
(4,4.35,'d4',23); -
インポートされたデータを表示するために、MySQLクライアントで以下のSQLクエリを実行してください:
MySQL [demo]> select * from demo.mytable;
+------+------+------+------+
| k1 | k2 | k3 | k4 |
+------+------+------+------+
| 1 | 0.14 | a1 | 20 |
| 2 | 1.04 | b2 | 21 |
| 3 | 3.14 | c3 | 22 |
| 4 | 4.35 | d4 | 23 |
+------+------+------+------+
4 rows in set (0.10 sec)