Mission Control consists of a Java backend server accessed via a web front end. Data is stored in a PostgreSQL database. Mission Control has to run on the same cluster and infrastructure used for the Starburst Enterprise Presto installation it controls.
We provide an Amazon Machine Image (AMI) for Mission Control. You can get the latest release in the AWS Marketplace or from Starburst.
With the AMI available to you, launch your EC2 instance and ensure you keep the following requirements in mind:
- Select your region and other account parameters as desired for the deployment of Mission Control, as well as the overall Presto deployment with coordinator and workers running in one or more clusters.
- Instance type of
Alternatively you can use our Cloud Formation template file
create the stack in the web interface or from the command line:
aws cloudformation create-stack \ --stack-name "mission-control" \ --template-body "file://cft.yaml" \ --parameters \ ParameterKey=Vpc,ParameterValue="vpc-123" \ ParameterKey=Subnet,ParameterValue="subnet-456" \ ParameterKey=SecurityGroups,ParameterValue="sg-xyz" \ ParameterKey=KeyName,ParameterValue="MyMCKey" \ ParameterKey=AppInstanceType,ParameterValue=t2.small \ ParameterKey=DBInstanceClass,ParameterValue=db.t2.micro \ ParameterKey=EphemeralDatabase,ParameterValue=yes \ ParameterKey=AuthenticationTypes,ParameterValue=INTERNAL \ --capabilities CAPABILITY_IAM
Once your Mission Control instance is up and running, note down the fully qualified domain name (host name) and navigate to it in a browser at port 5042 - http://hostname:5042. Now you are ready to proceed to log in and get started.
Mission Control can now manage your data sources and clusters, which replaces the traditional management with configuration files. Our Presto AWS documentation contains more detailed information about connecting to the Presto dashboard and other aspects.
Mission Control can be run on any Kubernetes cluster, including Azure Kubernetes Service AKS and Google Kubernetes Engine GKE. It can also be run on other Kubernetes deployments run and managed by your infrastructure team or from other public providers.
We provide a Kubernetes operator that includes references to the necessary Docker containers, helm charts and other resources.
Ensure you have the following files from Starburst at hand:
Now start your Kubernetes cluster, which you want to use for Mission Control and your Presto deployment and connect to it with kubectl.
Deploy and start the PostgreSQL backend database.
kubectl apply -f postgres.yaml
Deploy and start the Mission Control server:
kubectl apply -f missioncontrol.yaml
After a short while everything is up and running. Confirm the details of the service with kubectl.
kubectl get service/mission-control-service
Once the server is up and running, take note of the server URL or IP, and proceed to log in and get started.
Mission Control can now manage your data sources and clusters, which replaces the traditional management with configuration files. Our Presto Kubernetes documentation contains more detailed information about connecting to the Presto dashboard and other aspects.
The Mission Control application is automatically configured with reasonable default values, as part of the installation process on AWS and Kubernetes.
The configuration can be updated, and is controlled in two separate files:
- general server configuration in
- Java runtime configuration in
The installation methods for Mission Control automatically include a suitable configuration file. Following is list of used properties.
The AWS parameters define the AWS system to use.aws.workspace = s3://example/app/workspace aws.default-vpc = vpc-123 aws.default-subnet = subnet-456
The URL, username and password to the PostgreSQL database used by Mission Control for configuration and other storage.
The sequence of authentication and authorization systems to use. Possible values are
Determines the environment used for the Presto deployment. Currently needs
KUBERNETESfor Kubernetes-based systems and can be omitted for AWS deployments.
Parameters to define the LDAP server connection to use for LDAP authentication and authorization.
The default configuration for the Java Virtual Machine running the Mission Control backend is sufficient. If desired it can be adjusted. Changes require a restart of the application.
-server -Xmx1G -XX:+HeapDumpOnOutOfMemoryError -XX:+UseGCOverheadLimit -XX:+ExitOnOutOfMemoryError -Djdk.attach.allowAttachSelf=true