5.9. Deploying Presto Metastore

Starburstdata provides a CloudFormation template for deploying standalone Hive Metastore backed by an RDS database. This is optional and only needed if you do not have or want to use an existing Hive Metastore. See the Hive Connector in the Querying AWS S3 documentation.

Prerequisites

Refer to the same Prerequisites for deploying a Presto cluster using Starburst’s CloudFormation template.

Deploying

1. Select Template

Navigate to CloudFormation in the AWS console then choose “Create Stack”. On the Select Template form choose “Specify an Amazon S3 template URL” and insert https://s3.us-east-2.amazonaws.com/starburstdata/cloudformation/PrestoMetastore.yml.

Then click “next”.

2. Specify Details

Proceed by specifying the details of your Presto cluster (CloudFormation stack). This step includes Metastore and RDS Database configurations.

  • Preliminary Details: Name your cluster.

    ../_images/presto_metastore_stackname.png
  • Metastore Network Configuration: Specify your existing VPC, Subnet, and Security Groups. See Prerequisites section for more detail.

    ../_images/presto_metastore_network.png
  • Metastore Configuration
    Choose:
    • Key Name: Name of an EC2 KeyPair to enable SSH access to the instance
    • Termination Protection: Specify termination protection for your Metastore instance.
    • Metastore Warehouse S3 Location: By default, the Metastore default schema points to HDFS that is running as part of a single node Metastore instance. However, you can specify that default schema should be located at S3 bucket (recommended)
    • Metastore Log URI: S3 location where Metastore logs should be uploaded. This is useful when you want to investigate Metastore failures.
    • Metastore Node Instance Profile: This is by default set to EMR_EC2_DefaultRole, which is a default role assigned by EMR to nodes. It could be that this role wasn’t created yet. In that case, you could create this default role by following these instructions.
    • Service Role: Defines the allowable actions for Amazon EMR when provisioning Metastore EMR instances. The default role is EMR_DefaultRole. It could be that this default role wasn’t created yet. In that case, you could create this default role by following these instructions.
    ../_images/presto_metastore_configuration.png
  • Database Configuration

    Choose database subnets, database name, and optionally username/password and storage.

    ../_images/presto_metastore_database.png

3. Options

Enter any additional cluster specifications as shown on the Options page. These options include adding tags to resources within your cluster, choosing IAM roles, and specifying monitoring time for rollback triggers, among other advanced specifications. For further insight into said options follow the link to the AWS CloudFormation documentation.

4. Review

Finally, review the details of your cluster. When content, proceed by pressing create to conclude the creation of your Presto cluster.