mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-11-03 20:19:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			152 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Bare Metal Deployment
 | 
						|
slug: /deployment/bare-metal
 | 
						|
---
 | 
						|
 | 
						|
# 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.
 | 
						|
 | 
						|
```commandline
 | 
						|
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?](https://java.com/en/download/help/download_options.html#mac).
 | 
						|
 | 
						|
## MySQL (version 8.0.0 or greater)
 | 
						|
 | 
						|
To install MySQL see the instructions for your operating system (OS) at [Installing and Upgrading MySQL](https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/installing.html) 
 | 
						|
or visit one of the following OS-specific guides.
 | 
						|
 | 
						|
- [Installing MySQL on Linux](https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/linux-installation.html)
 | 
						|
- [Installing MySQL on Windows](https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/windows-installation.html)
 | 
						|
- [Installing MySQL on MacOS](https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/macos-installation.html)
 | 
						|
 | 
						|
<Note>
 | 
						|
 | 
						|
Make sure to configure required databases and users for OpenMetadata. 
 | 
						|
 | 
						|
You can refer a sample script [here](https://github.com/open-metadata/OpenMetadata/blob/main/docker/local-metadata/mysql-script.sql).
 | 
						|
 | 
						|
</Note>
 | 
						|
 | 
						|
 | 
						|
## Elasticsearch (version 7.X)
 | 
						|
 | 
						|
To install or upgrade Elasticsearch to a supported version please see the instructions for your operating system at 
 | 
						|
[Installing ElasticSearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html).
 | 
						|
 | 
						|
We do not support ElasticSearch 8.x yet.
 | 
						|
 | 
						|
Please follow the instructions here to [install ElasticSearch](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/setup.html).
 | 
						|
 | 
						|
## 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](/deployment/airflow).
 | 
						|
 | 
						|
# Procedure
 | 
						|
 | 
						|
## 1. Download the distribution
 | 
						|
 | 
						|
Visit the [releases page](https://github.com/open-metadata/OpenMetadata/releases) 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.
 | 
						|
 | 
						|
```commandline
 | 
						|
tar -zxvf openmetadata-*.tar.gz
 | 
						|
```
 | 
						|
 | 
						|
## 3. Navigate to the directory created
 | 
						|
 | 
						|
```commandline
 | 
						|
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](/deployment/configuration).
 | 
						|
 | 
						|
## 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!
 | 
						|
 | 
						|
</Note>
 | 
						|
 | 
						|
```commandline
 | 
						|
./bootstrap/bootstrap_storage.sh drop-create-all
 | 
						|
```
 | 
						|
 | 
						|
## 5. Start OpenMetadata
 | 
						|
 | 
						|
```commandline
 | 
						|
./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.
 | 
						|
 | 
						|
```xml
 | 
						|
<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.
 | 
						|
 | 
						|
```commandline
 | 
						|
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](/deployment/bare-metal/security) to configure security for your OpenMetadata
 | 
						|
installation.
 |