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 11.0.0 or greater)
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.
java --version
To install Java or upgrade to Java 11 or greater, see the instructions for your operating system at How do I install Java?.
MySQL (version 8.0.0 or greater)
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.
Note
Make sure to configure required databases and users for OpenMetadata.
You can refer a sample script here.
Elasticsearch (version 7.X)
To install or upgrade Elasticsearch to a supported version please see the instructions for your operating system at Installing ElasticSearch.
We do not support ElasticSearch 8.x yet.
Please follow the instructions here to install ElasticSearch.
Airflow (version 2.0.0 or greater) or other workflow schedulers
OpenMetadata performs metadata ingestion using ingestion
connectors designed to run in Airflow or another workflow scheduler. To install Airflow, please see the Airflow Installation guide.
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.
tar -zxvf openmetadata-*.tar.gz
3. Navigate to the directory created
cd openmetadata-*
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
Note that if there's any data in that database, this command will drop it!
./bootstrap/bootstrap_storage.sh drop-create-all
5. Start OpenMetadata
./bin/openmetadata.sh start
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.
<VirtualHost *:80>
<Proxy balancer://mycluster>
BalancerMember http://127.0.0.1:8585 <!-- First OpenMetadata server -->
BalancerMember http://127.0.0.2:8686 <!-- Second OpenMetadata server -->
</Proxy>
ProxyPreserveHost On
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
</VirtualHost>
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.
server {
access_log /var/log/nginx/stage-reverse-access.log;
error_log /var/log/nginx/stage-reverse-error.log;
server_name stage.open-metadata.org;
location / {
proxy_pass http://127.0.0.1:8585;
}
}
Enable Security
Please follow our Enable Security Guide to configure security for your OpenMetadata installation.