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

IDEA

IDEAでStarRocks FE開発環境をセットアップする

このチュートリアルはmacOSをベースにしており、Apple Chip(M1, M2)でテストされています。 macOSを使用していない場合でも、このチュートリアルを参考にすることができます。

必要なもの

Thrift 0.13

公式のbrewリポジトリには0.13バージョンのThriftがありません。そのため、開発者がインストール用のバージョンを自分のリポジトリで作成しました。

brew install alberttwong/thrift/thrift@0.13

Thriftのインストールが成功したら、次のコマンドを実行して確認できます。

$ thrift -version
Thrift version 0.13.0

Protobuf

最新バージョンのv3を使用してください。最新バージョンのProtobufはStarRocksで使用されているv2バージョンと互換性があります。

brew install protobuf

Maven

brew install maven

Openjdk 1.8または11

brew install openjdk@11

Python3

MacOSにはデフォルトでインストールされています。

ThriftとProtobufのインストールディレクトリは、各自異なる場合があります。brew listコマンドを使用して確認できます。

brew list thrift@0.13.0
brew list protobuf

StarRocksの設定

StarRocksのダウンロード

git clone https://github.com/StarRocks/starrocks.git

thirdpartyディレクトリのセットアップ

thirdpartyディレクトリにinstalled/binディレクトリを作成します。

cd starrocks && mkdir -p thirdparty/installed/bin

その後、ThriftとProtobufのシンボリックリンクを作成します。

ln -s /opt/homebrew/bin/thrift thirdparty/installed/bin/thrift
ln -s /opt/homebrew/bin/protoc thirdparty/installed/bin/protoc

環境変数の設定

export JAVA_HOME="/opt/homebrew/Cellar/openjdk@11/11.0.15" # 注意: JDKのバージョンはデスクトップによって異なる場合があります
export PYTHON=/usr/bin/python3
export STARROCKS_THIRDPARTY=$(pwd)/thirdparty # 注意: 現在のディレクトリがstarrocksディレクトリであることを確認してください

ソースコードの生成

FEの多くのソースファイルは手動で生成する必要があります。これを行わないと、IDEAがファイルの不足によりエラーを報告します。自動的に生成するには、次のコマンドを実行します。

cd gensrc
make clean
make

FEのコンパイル

feディレクトリに移動し、Mavenを使用してコンパイルします。

cd fe
mvn install -DskipTests

IDEAでStarRocksを開く

  1. IDEAでStarRocksディレクトリを開きます。
  2. コーディングスタイルの設定を追加します。 コーディングスタイルを統一するために、IDEAでfe/starrocks_intellij_style.xmlのコードスタイルファイルをインポートする必要があります。
    image-20220701193938856

MacOSでStarRocks FEを実行する

IDEAを使用してfeディレクトリを開きます。

StarRocksFE.javaのMain関数を直接実行すると、いくつかのエラーが報告されます。スムーズに実行するには、いくつかの簡単な設定を行うだけです。

注意: StarRocksFE.javafe/fe-core/src/main/java/com/starrocksディレクトリにあります。

  1. StarRocksディレクトリからconf、bin、webrootディレクトリをfeディレクトリにコピーします。
cp -r conf fe/conf
cp -r bin fe/bin
cp -r webroot fe/webroot
  1. feディレクトリに移動し、feディレクトリの下にlogディレクトリとmetaディレクトリを作成します。
cd fe
mkdir log
mkdir meta
  1. 環境変数を設定します。以下の図に示すように設定します。
image-20220701193938856
export PID_DIR=/Users/smith/Code/starrocks/fe/bin
export STARROCKS_HOME=/Users/smith/Code/starrocks/fe
export LOG_DIR=/Users/smith/Code/starrocks/fe/log
  1. fe/conf/fe.confでpriority_networksを127.0.0.1/24に変更して、現在のコンピュータのLAN IPを使用してポートのバインドに失敗するのを防ぎます。
  2. これでStarRocks FEを正常に実行できます。

MacOSでStarRocks FEをデバッグする

デバッグオプションを使用してFEを起動した場合、IDEAデバッガをFEプロセスにアタッチできます。

./start_fe.sh --debug