| --- |
| { |
| "title": "クイックスタート | はじめに", |
| "language": "ja", |
| "description": "Doris バージョン 2.1.8 以降、Docker を使用した迅速なデプロイメントが可能です。", |
| "sidebar_label": "Quick Start" |
| } |
| --- |
| # クイックスタート |
| |
| :::caution 警告: |
| |
| 以下の高速デプロイメント方法は、ローカル開発およびテスト専用を目的としており、本番環境では使用しないでください。理由は以下の通りです: |
| |
| 1. **データの脆弱性**: Dockerデプロイメントを使用する場合、コンテナ破棄時にデータが失われるため、データが簡単に失われる可能性があります。単一レプリカインスタンスの手動デプロイメントには、データの冗長性とバックアップ機能が不足しており、マシン障害によりデータ損失が発生する可能性があります。 |
| |
| 2. **単一レプリカ構成**: 例のテーブル作成ステートメントはすべて単一レプリカです。本番環境では、データの信頼性を確保するためにマルチレプリカストレージを使用する必要があります。 |
| |
| ::: |
| |
| ## Dockerを使用したクイックデプロイメント |
| |
| Dorisバージョン2.1.8以降、Dockerを高速デプロイメントに使用できます。 |
| |
| ### ステップ1: Quick-Startスクリプトをダウンロード |
| |
| <a target="_blank" download rel="noopener noreferrer" href="/files/start-doris.sh"> スクリプトをダウンロード </a>し、以下のコマンドを実行して対応する実行権限を付与します。 |
| |
| ```shell |
| chmod 755 start-doris.sh |
| ``` |
| ### Step 2: クラスターを開始する |
| |
| スクリプトを実行してクラスターを開始します。`-v`パラメータを使用して3.xバージョンを指定してください: |
| |
| ```shell |
| bash start-doris.sh -v 3.0.8 |
| ``` |
| ### ステップ3: MySQLクライアントを使用してクラスターに接続し、クラスターのステータスを確認する |
| |
| ```sql |
| ## 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 | |
| +-----------+-------+ |
| |
| ``` |
| ## ローカル高速デプロイ |
| |
| :::info 環境推奨設定: |
| |
| * **オペレーティングシステム**: Ubuntu以上のAMD/ARM主流Linux環境の使用を推奨します。 |
| |
| * **Java環境**: Java 17ランタイム環境の使用を推奨します。 |
| |
| * **ユーザー権限**: LinuxでDorisユーザーを新規作成し、root ユーザーでの操作を避けることを推奨します。 |
| |
| ::: |
| |
| ### Step 1: バイナリパッケージのダウンロード |
| |
| Apache Doris のウェブサイト[こちら](https://doris.apache.org/download)から対応するバイナリインストールパッケージをダウンロードし、展開してください。 |
| |
| ### Step 2: 環境変数の変更 |
| |
| 1. **システムの最大オープンファイルディスクリプタ制限の変更** |
| |
| 以下のコマンドを使用して最大ファイルディスクリプタ制限を調整してください。この変更を行った後、設定を適用するためにセッションを再起動する必要があります: |
| |
| ```sql |
| vi /etc/security/limits.conf |
| * soft nofile 1000000 |
| * hard nofile 1000000 |
| ``` |
| 2. **仮想メモリ領域の変更** |
| |
| 以下のコマンドを使用して、仮想メモリ領域を最小2000000に永続的に変更し、変更を即座に適用します: |
| |
| ```bash |
| cat >> /etc/sysctl.conf << EOF |
| vm.max_map_count = 2000000 |
| EOF |
| |
| ## Take effect immediately |
| sysctl -p |
| ``` |
| ### ステップ3: FEをインストール |
| |
| 1. **FEを設定** |
| |
| FE設定ファイル`apache-doris/fe/conf/fe.conf`の以下の内容を変更してください: |
| |
| ```sql |
| ## Specify Java environment |
| JAVA_HOME=/home/doris/jdk |
| |
| ## Specify the CIDR block for FE listening IP |
| priority_networks=127.0.0.1/32 |
| ``` |
| 2. **FEの開始** |
| |
| `start_fe.sh`スクリプトを実行してFEプロセスを起動します: |
| |
| ```sql |
| apache-doris/fe/bin/start_fe.sh --daemon |
| ``` |
| 3. **FEステータスの確認** |
| |
| MySQLクライアントを使用してクラスターに接続し、クラスターステータスを確認します: |
| |
| ```sql |
| ## 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のインストール |
| |
| 1. **BEの設定** |
| |
| BE設定ファイル`apache-doris/be/conf/be.conf`の以下の内容を変更します: |
| |
| ```sql |
| ## Specify Java environment |
| JAVA_HOME=/home/doris/jdk |
| |
| ## Specify the CIDR block for BE's listening IP |
| priority_networks=127.0.0.1/32 |
| ``` |
| 2. **BE の開始** |
| |
| 以下のコマンドで BE プロセスを開始します: |
| |
| ```sql |
| apache-doris/be/bin/start_be.sh --daemon |
| ``` |
| 3. **クラスター内でBEノードを登録する** |
| |
| MySQLクライアントを使用してクラスターに接続します: |
| |
| ```sql |
| mysql -uroot -P9030 -h127.0.0.1 |
| ``` |
| ADD BACKEND コマンドを使用してBEノードを登録します: |
| |
| ```sql |
| ALTER SYSTEM ADD BACKEND "127.0.0.1:9050"; |
| ``` |
| 4. **BE ステータスの確認** |
| |
| MySQL クライアントを使用してクラスターに接続し、クラスターのステータスを確認します: |
| |
| ```sql |
| ## 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 | |
| +-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+ |
| ``` |
| ## クエリの実行 |
| |
| 1. **MySQL clientを使用してクラスターに接続する:** |
| |
| ```sql |
| mysql -uroot -P9030 -h127.0.0.1 |
| ``` |
| 2. **データベースとテストテーブルを作成:** |
| |
| ```sql |
| 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" |
| ); |
| ``` |
| 3. **テストデータをインポート:** |
| |
| Insert Into文を使用してテストデータを挿入する |
| |
| ```sql |
| insert into mytable values |
| (1,0.14,'a1',20), |
| (2,1.04,'b2',21), |
| (3,3.14,'c3',22), |
| (4,4.35,'d4',23); |
| ``` |
| 4. **インポートされたデータを表示するために、MySQLクライアントで以下のSQLクエリを実行してください:** |
| |
| ```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) |
| ``` |
| ## FAQ |
| |
| **Q: MacでDockerをインストールするにはどうすればよいですか?** |
| |
| A: [Docker Desktop](https://www.docker.com/products/docker-desktop/)をダウンロードしてインストールしてください。 |
| |
| **Q: Mac: Docker Desktopインストール後に「Error: Docker environment not detected」が表示される** |
| |
| A: symlinkを作成してください: |
| |
| ```shell |
| sudo ln -s /Applications/Docker.app/Contents/Resources/bin/docker /usr/local/bin/docker |
| ``` |
| **Q: Mac: "error getting credentials - err: exit status 1, out: \`\`"** |
| |
| A: このエラーは通常、Dockerクレデンシャルヘルパーの設定ミスが原因です。ローカル開発/テスト環境では、回避策として`~/.docker/config.json`の`credsStore`フィールドを削除できます。注意: この回避策はクレデンシャルを平文で保存するため、ローカル開発環境でのみ推奨されます。 |