Why debug Kylin in IDEA without Hadoop
This article aims to introduce a simple and useful way to develop and debug Kylin for developers.
Following is the architecture of the current deployment.
This guide assumes you have prepared the following things:
- A laptop with macOS installed to do development work (Windows is not verified at the moment)
- Kylin's source code is cloned into some directory on your laptop
Prepare IDEA and build source code
Step 1: Check Software Requirement
Please visit Software Requirement, and make sure your laptop has met the requirement.
Step 2: Build source code
Build backend source code before your start debugging.
mvn clean install -DskipTests
Build front-end source code.
(Please use node.js v12.14.0, for how to use a specific version of node.js, please check how to switch to a specific node js )
Step 3: Install IntelliJ IDEA and build the source
Install the IDEA Community edition (the Ultimate edition is ok too).
Import the source code into IDEA. Click the Open, and choose the directory of Kylin source code.
Install the scala plugin and restart
Configure SDK(JDK and Scala), make sure you use JDK 1.8.X and Scala 2.12.X.
Reload maven projects, and the
scaladirectory will be marked as source root(in blue color).
Build the projects.(make sure you have executed
mvn clean package -DskipTests, otherwise some source code is not generated by maven javacc plugin)
Step 4: Prepare IDEA configuration
- Download spark and create running IDEA configuration for debug purpose and initialize the frontend env.
Following is the shell output.
Prepare the Requirements
Deploy Zookeeper(Current only need Zookeeper)
Install latest docker desktop in your laptop
Check available resource of your docker desktop in laptop, make sure you leave 1 CPUs and 1 GB memory at least .
Following is the setting page of Docker Desktop of MacBook.
Start Zookeeper service via docker compose on laptop.
Check status of Require services
- Check health of Zookeeper, you can use following command to check status
Following output content shows all hadoop component are in health state.
Debug Kylin in IDEA
Start backend in IDEA
- Select "BootstrapServer[Local]" on top of IDEA and click Run .
- Check if SparkUI of Sparder is started.
Start frontend in IDEA
- Set up dev proxy
npm run devproxy
Validate Kylin's core functions
- Visit Kylin WEB UI in your laptop
Create a new project, load table and create model
Validate Cube Build and Query function
./dev-support/local/local.sh stopto stop all containers
./dev-support/local/local.sh startto start all containers
./dev-support/local/local.sh psto check status of all containers
./dev-support/local/local.sh downto stop all containers and delete them