Ozone components depends on maven classpath. We generate classpath descriptor from the maven pom.xml files to use exactly the same classpath at runtime.
As a result, it's easy to start All the components in IDE (eg. IntelliJ) as the right classpath (without provided scope) has already been set.
Since HDDS-1715 we have provide ready-to-use IntelliJ run configurations.
To start Ozone from Intellij you need the following:
(1) Stop your Intellij
(2) Execute the helper shell script:
./hadoop-ozone/dev-support/intellij/install-runconfigs.sh
Note: helper script doesn't do any special, just copy the committed runners to the right location in your intellij project folder.
(3) Start IntelliJ
As a result you can find the new run entries under the Run menu:
To run ozone, you can use the installed Run configurations in the following order:
- StorageContainerManagerInit (to initialize the SCM dir)
- StorageContainerManger (to start SCM)
- OzoneManagerInit (to initialize OM, it requires SCM)
- OzoneManager
- Datanode
Note: as of now we support only one datanode, but supporting multiple datanode processes can be added.