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.
Java (version 17.0.0 or higher)
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?.
MySQL (version 8.0.0 or higher)
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.
Postgres (version 12.0 or higher)
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.
Elasticsearch (version 8.X)
OpenMetadata supports ElasticSearch version up to 8.10.2. 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.
Airflow (version 2.0.0 or higher) or other workflow schedulers
OpenMetadata performs metadata ingestion using the Ingestion Framework. Learn more about how to deploy and manage the ingestion workflows here.
Minimum Sizing Requirements
- 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
1. Download the distribution
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.
2. Untar the release download
Once the tar file has downloaded, run the following command, updated if necessary for the version of OpenMetadata that you downloaded.
3. Navigate to the directory created
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.
4. Prepare the OpenMetadata Database and Indexes
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!
5. Start OpenMetadata
We recommend configuring serviced
to monitor the OpenMetadata command to restart in case of any failures.
Run OpenMetadata with a load balancer
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.
Apache mod_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.
Nginx
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.
Run OpenMetadata with AWS Services or your hosted DB/ElasticSearch
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.10.2 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
Configure MySQL connection
Configure Postgres Connection
Configure ElasticSearch Connection
Troubleshooting
Java Memory Heap Issue
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.
Enable Security
Please follow our Enable Security Guide to configure security for your OpenMetadata installation.