メインコンテンツまでスキップ

クイックスタート

警告:

以下の高速デプロイメント方法は、ローカル開発およびテスト専用を目的としており、本番環境では使用しないでください。理由は以下の通りです:

  1. データの脆弱性: Dockerデプロイメントを使用する場合、コンテナ破棄時にデータが失われるため、データが簡単に失われる可能性があります。単一レプリカインスタンスの手動デプロイメントには、データの冗長性とバックアップ機能が不足しており、マシン障害によりデータ損失が発生する可能性があります。

  2. 単一レプリカ構成: 例のテーブル作成ステートメントはすべて単一レプリカです。本番環境では、データの信頼性を確保するためにマルチレプリカストレージを使用する必要があります。

Dockerを使用したクイックデプロイメント

Dorisバージョン2.1.8以降、Dockerを高速デプロイメントに使用できます。

ステップ1: Quick-Startスクリプトをダウンロード

スクリプトをダウンロード し、以下のコマンドを実行して対応する実行権限を付与します。

chmod 755 start-doris.sh

Step 2: クラスターを開始する

スクリプトを実行してクラスターを開始します。-vパラメータを使用して3.xバージョンを指定してください:

bash start-doris.sh -v 3.0.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 |
+-----------+-------+

ローカル高速デプロイ

環境推奨設定:
  • オペレーティングシステム: Ubuntu以上のAMD/ARM主流Linux環境の使用を推奨します。

  • Java環境: Java 17ランタイム環境の使用を推奨します。

  • ユーザー権限: LinuxでDorisユーザーを新規作成し、root ユーザーでの操作を避けることを推奨します。

Step 1: バイナリパッケージのダウンロード

Apache Doris のウェブサイトこちらから対応するバイナリインストールパッケージをダウンロードし、展開してください。

Step 2: 環境変数の変更

  1. システムの最大オープンファイルディスクリプタ制限の変更

    以下のコマンドを使用して最大ファイルディスクリプタ制限を調整してください。この変更を行った後、設定を適用するためにセッションを再起動する必要があります:

    vi /etc/security/limits.conf 
    * soft nofile 1000000
    * hard nofile 1000000
  2. 仮想メモリ領域の変更

    以下のコマンドを使用して、仮想メモリ領域を最小2000000に永続的に変更し、変更を即座に適用します:

    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の以下の内容を変更してください:

    ## 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プロセスを起動します:

    apache-doris/fe/bin/start_fe.sh --daemon
  3. 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のインストール

  1. 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
  2. BE の開始

    以下のコマンドで BE プロセスを開始します:

    apache-doris/be/bin/start_be.sh --daemon
  3. クラスター内でBEノードを登録する

    MySQLクライアントを使用してクラスターに接続します:

    mysql -uroot -P9030 -h127.0.0.1

ADD BACKEND コマンドを使用してBEノードを登録します:

ALTER SYSTEM ADD BACKEND "127.0.0.1:9050";
  1. 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 |
    +-----------+-----------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+-----------+------------------+--------------------+---------------+---------------+---------+----------------+--------------------+--------------------------+--------+-------------------------+-------------------------------------------------------------------------------------------------------------------------------+-------------------------+----------+

クエリの実行

  1. MySQL clientを使用してクラスターに接続する:

    mysql -uroot -P9030 -h127.0.0.1
  2. データベースとテストテーブルを作成:

    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文を使用してテストデータを挿入する

    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クエリを実行してください:

    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をダウンロードしてインストールしてください。

Q: Mac: Docker Desktopインストール後に「Error: Docker environment not detected」が表示される

A: symlinkを作成してください:

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.jsoncredsStoreフィールドを削除できます。注意: この回避策はクレデンシャルを平文で保存するため、ローカル開発環境でのみ推奨されます。