deployment

No menu items for this category

Deploy on Bare Metal

Requirements This guide assumes you have access to a command-line environment or shell such as bash, zsh, etc. or Linux or Mac OS X or PowerShell on Microsoft Windows. This guide also assumes that your command-line environment has access to the tar utility. Please review additional requirements listed in the subsections below.

OpenMetadata is built using Java, DropWizard, and Jetty.

Type the following command to verify that you have a supported version of the Java runtime installed.

To install Java or upgrade to Java 17 or greater, see the instructions for your operating system at How do I install Java?.

To install MySQL see the instructions for your operating system (OS) at Installing and Upgrading MySQL or visit one of the following OS-specific guides.

Make sure to configure required databases and users for OpenMetadata.

You can refer a sample script here.

To install Postgres see the instructions for your operating system (OS) at Postgres Download

Make sure to configure required databases and users for OpenMetadata.

You can refer a sample script here.

For Azure Postgres >14.0 the MD5 function is disabled for new clusters since September 2024.

If you are facing an error ERROR: could not compute MD5 hash: disabled for FIPS, downgrade Postgres to a version <14.0, like 13.16.

OpenMetadata supports ElasticSearch version up to 8.11.4. To install or upgrade Elasticsearch to a supported version please see the instructions for your operating system at Installing ElasticSearch.

Please follow the instructions here to install ElasticSearch.

If you are using AWS OpenSearch Service, OpenMetadata Supports AWS OpenSearch Service engine version up to 2.7. For more information on AWS OpenSearch Service, please visit the official docs here.

OpenMetadata performs metadata ingestion using the Ingestion Framework. Learn more about how to deploy and manage the ingestion workflows here.

  • Our minimum specs recommendation for the OpenMetadata Deployment (one replica) is 2 vCPUs and 4 Gigs with 20 Gigs of volume size if using persistent volumes for logs.
  • For Elasticsearch, 2 vCPUs and 2 Gigs RAM (per instance) with 30 Gigs of Storage volume attached.
  • For the database, 2 vCPUs and 2 Gigs RAM (per instance) with 30 Gigs of Storage Volume Attached (dynamic expansion up to 100 Gigs).

These settings apply as well when using managed instances, such as RDS or AWS OpenSearch.

Procedure

Visit the releases page and download the latest binary release.

Release binaries follow the naming convention of openmetadata-x.y.z.tar.gz. Where x, y, and z represent the major, minor, and patch release numbers.

Once the tar file has downloaded, run the following command, updated if necessary for the version of OpenMetadata that you downloaded.

Review and update the openmetadata.yaml configurations to match your environment. Specifically, consider aspects such as the connection to the MySQL database or ElasticSearch. You can find more information about these configurations here.

The command below will generate all the necessary tables and indexes in ElasticSearch.

Note that if there's any data in that database, this command will drop it!

We recommend configuring serviced to monitor the OpenMetadata command to restart in case of any failures.

You may put one or more OpenMetadata instances behind a load balancer for reverse proxying. To do this you will need to add one or more entries to the configuration file for your reverse proxy.

To use the Apache mod_proxy module as a reverse proxy for load balancing, update the VirtualHost tag in your Apache config file to resemble the following.

To use OpenMetadata behind an Nginx reverse proxy, add an entry resembling the following the http context of your Nginx configuration file for each OpenMetadata instance.

If you are running OpenMetadata in AWS, it is recommended to use Amazon RDS and Amazon OpenSearch Service.

We support

  • Amazon RDS (MySQL) engine version 8 or higher
  • Amazon OpenSearch (ElasticSearch) engine version up to 8.11.4 or Amazon OpenSearch engine version up to 2.7
  • Amazon RDS (PostgreSQL) engine version between 12 or higher

For Production Systems, we recommend Amazon RDS to be in Multiple Availability Zones. For Amazon OpenSearch (or ElasticSearch) Service, we recommend Multiple Availability Zones with minimum 3 Master Nodes.

Once you have the RDS and OpenSearch Services Setup, you can update the environment variables below for OpenMetadata bare metal systems to connect with Database and ElasticSearch.

Below are the environment variables for OpenMetadata Server

If your openmetadata application logs speaks about the below issue -

This is due to the default JVM Heap Space configuration (1 GiB) being not enough for your workloads. In order to resolve this issue, head over to your openmetadata environment variables list and append the below environment variable

The flag Xmx specifies the maximum memory allocation pool for a Java virtual machine (JVM), while Xms specifies the initial memory allocation pool.

Restart the OpenMetadata Application using ./bin/openmetadata.sh start which will start the service using a linux process.

Please follow our Enable Security Guide to configure security for your OpenMetadata installation.