Unity Catalog Deployment Guide
Deployment
Section titled “Deployment”This guide outlines how to deploy the Unity Catalog server.
Deploying using tarball
Section titled “Deploying using tarball”Prerequisites
Section titled “Prerequisites”- To generate the tarball, run the following command in the source code:
build/sbt createTarballUnpacking the tarball
Section titled “Unpacking the tarball”- The tarball generated in the
targetdirectory can be unpacked using the following command:
tar -xvf unitycatalog-<version>.tar.gz- Unpacking the tarball will create the following directory structure:
Directoryunitycatalog-<version>
Directorybin
- start-uc-server
- uc
Directoryetc
- conf
- data
- db
- logs
- jars
- The
bindirectory contains the scripts that you can use to start the UC server and run the CLI. - The
etcdirectory contains the configuration, data, database, and logs directories. - The
jarsdirectory contains the jar files required to run the UC server.
Configuring the UC server
Section titled “Configuring the UC server”- The UC server can be configured by modifying the files in
etc/conf/. This includes properties related to logging, server environment and the s3 configuration. - Setting the server environment to
devwill use properties located inetc/conf/hibernate.propertiesto configure the backend database whereastestwill spin up an in-memory database. - The
etc/data/directory contains the data files that are used by the UC server. This includes the tables and volumes that are created. - The
etc/db/directory contains the backend database that is used by the UC server.
Configuring the database
Section titled “Configuring the database”- The backend database can be configured by modifying the
etc/conf/hibernate.propertiesfile. - You need to provide the connection details to connect to your database server.
Prerequisites
Section titled “Prerequisites”- Install docker.
- Download JDBC driver for MySQL.
Start MySQL server
Section titled “Start MySQL server”- In a terminal, navigate to the cloned repository root directory.
- Modify
etc/db/mysql-example.ymlto configure MySQL server. Then start MySQL using Docker:
docker-compose -f etc/db/mysql-example.yml up -d- Modify the
etc/conf/hibernate.propertiesfile with your MySQL connection details:
hibernate.connection.driver_class=com.mysql.cj.jdbc.Driverhibernate.connection.url=jdbc:mysql://localhost:3306/ucdbhibernate.connection.user=uc_default_userhibernate.connection.password=uc_default_password- Modify the
jars/classpathfile and add path to your JDBC driver.
Prerequisites
Section titled “Prerequisites”- Install docker.
- Download JDBC driver for PostgreSQL.
Start PostgreSQL server
Section titled “Start PostgreSQL server”- In a terminal, navigate to the cloned repository root directory.
- Modify
etc/db/postgres-example.ymlto configure PostgreSQL server. Then start PostgreSQL using Docker:
docker-compose -f etc/db/postgres-example.yml up -d- Modify the
etc/conf/hibernate.propertiesfile with your PostgreSQL connection details:
hibernate.connection.driver_class=org.postgresql.Driverhibernate.connection.url=jdbc:postgresql://localhost:5432/ucdbhibernate.connection.user=uc_default_userhibernate.connection.password=uc_default_password- Modify the
jars/classpathfile and add path to your jdbc driver.