A tool for managing Presto clusters.
These instructions will get you an instance of the project up and running on your local machine for development and testing purposes.
- Linux OS
- Java Development Kit 8, available at oracle.com or openjdk.java.net
- Python 2.4+, available at python.org
Clone the full distribution
git clone https://github.com/prestodb/presto-manager.git
Change to the project directory you cloned the distribution
cd presto-manager
Use Maven Wrapper to compile and generate executable JAR for the project
./mvnw clean install
These commands will start the Agent and Controller, respectively:
java -jar ./presto-manager-agent/target/AgentServer.jar
java -jar ./presto-manager-controller/target/ControllerServer.jar
Any Http client will work as long as it can send basic Http requests
(i.e GET, PUT, POST, DELETE, etc.)
Postman, a Google chrome plugin, is recommended for its friendly user interface.
For example, this request will receive a list of available configuration files as its response.
GET http://localhost:8080/v1/config?scope=cluster
First run
mvn clean compile swagger:generate
Then run
mvn clean compile swagger2markup:convertSwagger2markup
The documentation for the Agent and Controller APIs will be located at these directories, respectively:
project-root/presto-agent/target/swagger/asciidoc/paths.adoc
project-root/presto-controller/target/swagger/asciidoc/paths.adoc
Each Presto Manager process requires two configuration files: the main configuration file, and a log levels file.
By default, the controller and agent will look to etc/controller.properties
and etc/agent.properties
for their main configuration files, respectively.
To override this behavior, set the system property config
to the file you
would like to use.
For convenience, sample configurations for the Agent and Controller are
provided in the git repository under etc/
. The sample files also contain
descriptions for each property.
This project is licensed under the Apache License. See the LICENSE file for details