First, you need to pull the Bigtop Manager source code from Github using the following command:
git clone git@github.com:apache/bigtop-manager.git
After getting the code, some dependencies require you to compile the project first before you can use them; otherwise, an error will occur. Please run the following command:
./mvnw clean install -DskipTests
First, you need to initialize your database. The database files are in the bigtop-manager-server/src/main/resources/ddl/
directory. Please use the corresponding scripts to initialize your database. Currently, only Postgres
and MySQL
are supported.
And modify your database information in the bigtop-manager-server/src/main/resources/application.yml
file.
After compiling the project, you can start development.
For Java projects, you can directly use the Debug
feature of Intellij IDEA.
For Vue projects, please run the following commands:
cd bigtop-manager-ui pnpm dev
Then access localhost:5173
in your browser. Next, enjoy your development journey!
To reduce the complexity of development environment dependencies for big data components, we support development mode:
Traditional deployment requires developers to set up a complete Linux service cluster, with the following pain points:
Activate developer mode via the DEV_MODE=true
environment variable to achieve:
Users can enable it through the following method:
Module | Introduction |
---|---|
bigtop-manager-agent | It will be installed on each host to manage the services on each host. |
bigtop-manager-ai | It contains some code related to the AI assistant. |
bigtop-manager-bom | It defines all the dependencies and their versions in the project. |
bigtop-manager-common | It contains some common utility classes. |
bigtop-manager-dao | It interacts with the database. |
bigtop-manager-dist | The packaged content will be placed in this module, including the tar packages of Server and Agent . |
bigtop-manager-grpc | The Server application and the Agent application interact through gRPC. This module contains all gRPC service definitions. |
bigtop-manager-server | It is the main code of the management end. |
bigtop-manager-stack | It contains the components and their operation scripts in each component stack. |
bigtop-manager-ui | It is the front - end code. |
We need to ensure that our code format meets the requirements.
Java:
./mvnw clean spotless:apply
Vue:
cd bigtop-manager-ui pnpm prettier
Before submitting your code, please ensure that all unit tests pass.
Java:
./mvnw clean test -Dskip.pnpm -Dskip.installnodepnpm -Dskip.pnpm.test
Vue:
./mvnw -pl bigtop-manager-ui test
git checkout -b bigtop-4162
.ISSUE number: Description
, for example, BIGTOP-4162: Add health check for components
. If the PR is complex, it is recommended to write a Description for both the Issue and the PR to explain the specific purpose.