Skip to main content

Using Clion for Remote Development and Debugging of Apache Doris BE

Downloading and Compiling Code on Remote Server

  1. Download Doris source code on the remote server, such as in the directory /mnt/datadisk0/chenqi/doris.
git clone https://github.com/apache/doris.git
  1. Modify the env.sh file located in the root directory of the Doris code on the remote server. Add the configuration for DORIS_HOME at the beginning, for example, DORIS_HOME=/mnt/datadisk0/chenqi/doris.

  2. Execute commands to compile the code. The detailed compilation process compilation-with-ldb-toolchain.

cd /mnt/datadisk0/chenqi/doris
./build.sh

Clion Installation and Configuration for Remote Development Environment

  1. Download and install Clion on your local env, then import the Doris BE source code.

  2. Set up a remote development environment on your local env by navigating to Preferences -> Build, Execution, Deployment -> Deployment in Clion. Add the connection and login information for the remote development server using SFTP and set the Mappings paths. For example, where Local Path is the local path /User/kaka/Programs/doris/be and Deployment Path is the remote server path /mnt/datadisk0/chenqi/clion/doris/be.

Deployment1

Deployment2

  1. Copy the gensrc path on the remote server, for example /mnt/datadisk0/chenqi/doris/gensrc, to the parent directory of the Deployment Path. For example, the final directory path on the remote server should be /mnt/datadisk0/chenqi/clion/doris/gensrc.
cp -R /mnt/datadisk0/chenqi/doris/gensrc /mnt/datadisk0/chenqi/clion/doris/gensrc
  1. In Clion, navigate to Preferences -> Build, Execution, Deployment -> Toolchains and add the necessary remote environment toolchains such as cmake, gcc, g++, gdb, etc. The most important step is to add the path of env.sh on the remote server to Environment file.

Toolchains

  1. In Clion, navigate to Preferences -> Build, Execution, Deployment -> CMake and add the compilation option -DDORIS_JAVA_HOME=/path/to/remote/JAVA_HOME in CMake options, set DORIS_JAVA_HOME to the JAVA_HOME path of the remote server, otherwise jni.h will not be found.

  2. Right-click on Load Cmake Project in Clion. This will synchronize the code to the remote server and generate the Cmake build files.

Running and debugging Doris BE remotely in Clion

  1. Configure CMake in Preferences -> Build, Execution, Deployment -> CMake. Different targets such as Debug / Release can be configured, and the ToolChain should be set to the previously configured. If you want to run and debug Unit Tests, you need to add ·-DMAKE_TEST=ON· to CMake Options (this option is disabled by default, and needs to be enabled to compile the Test code) Copy the output directory in Doris source code to a separate path on the remote server, such as /mnt/datadisk0/chenqi/clion/doris/doris_be/.

  2. Copy the output directory in Doris source code to a separate path on the remote server, such as /mnt/datadisk0/chenqi/clion/doris/doris_be/.

cp -R /mnt/datadisk0/chenqi/doris/output /mnt/datadisk0/chenqi/clion/doris/doris_be

Output Tree

  1. Select the relevant Target for doris_be in Clion, such as Debug or Release, and configure the run.

Run Debug Conf1

Refer to the environment variables exported in be/bin/start_be.sh in the Doris root directory for environment variable configuration. The value of each environment variable should point to the corresponding path on the remote server.** Environment variables reference:

Run Debug Conf2

  1. Click Run to compile and run the BE, or click Debug to compile and debug the BE.