Install ClickHouse on Debian/Ubuntu

[Edit this page](https://github.com/ClickHouse/clickhouse-docs/blob/main/docs/getting-started/install/debian_ubuntu.md)

> It is recommended to use official pre-compiled `deb` packages for **Debian** or **Ubuntu**.

Review recommendations

## Review recommendations[​](#review-recommendations "Direct link to Review recommendations")

Before installing ClickHouse, review the following recommendations:

- **Swap:** Disable the operating system's swap file in production environments.
- **Disk space:** The ClickHouse binary requires at least 2.5 GB of disk space for installation.
- **Network:** For distributed deployments (clustering), use at least 10 Gbit network connectivity. Network bandwidth is critical for processing distributed queries with large amounts of intermediate data, as well as for replication.

**Estimating storage requirements**

To estimate the disk space needed for your data:

1. **Estimate data volume:** Take a sample of your data and calculate the average row size, then multiply by the number of rows you plan to store.
2. **Apply the compression coefficient:** Load a sample into ClickHouse and compare the original data size with the stored table size. Clickstream data, for example, is typically compressed 6-10x.
3. **Account for replicas:** If you plan to store data in multiple replicas, multiply the estimated volume by the number of replicas.

For more detailed hardware requirements, see ["Sizing and hardware recommendations"](/docs/guides/sizing-and-hardware-recommendations)

Set up the Debian repository

## Set up the Debian repository[​](#setup-the-debian-repository "Direct link to Set up the Debian repository")

To install ClickHouse run the following commands:

```
# Install prerequisite packages
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg

# Download the ClickHouse GPG key and store it in the keyring
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg

# Get the system architecture
ARCH=$(dpkg --print-architecture)

# Add the ClickHouse repository to apt sources
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=${ARCH}] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list

# Update apt package lists
sudo apt-get update
```

- You can replace `stable` with `lts` to use different [release kinds](/docs/knowledgebase/production) based on your needs.
- You can download and install packages manually from [packages.clickhouse.com](https://packages.clickhouse.com/deb/pool/main/c/).

  
Old distributions method for installing the deb-packages

```
# Install prerequisite packages
sudo apt-get install apt-transport-https ca-certificates dirmngr

# Add the ClickHouse GPG key to authenticate packages
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754

# Add the ClickHouse repository to apt sources
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
    /etc/apt/sources.list.d/clickhouse.list
    
# Update apt package lists
sudo apt-get update

# Install ClickHouse server and client packages
sudo apt-get install -y clickhouse-server clickhouse-client

# Start the ClickHouse server service
sudo service clickhouse-server start

# Launch the ClickHouse command line client
clickhouse-client # or "clickhouse-client --password" if you set up a password.
```

Install ClickHouse server and client

## Install ClickHouse server and client[​](#install-clickhouse-server-and-client "Direct link to Install ClickHouse server and client")

```
sudo apt-get install -y clickhouse-server clickhouse-client
```

Start ClickHouse

## Start ClickHouse[​](#start-clickhouse-server "Direct link to Start ClickHouse")

To start the ClickHouse server, run:

```
sudo service clickhouse-server start
```

To start ClickHouse client, run:

```
clickhouse-client
```

If you set up a password for your server, then you will need to run:

```
clickhouse-client --password
```

Install standalone ClickHouse Keeper

## Install standalone ClickHouse Keeper[​](#install-standalone-clickhouse-keeper "Direct link to Install standalone ClickHouse Keeper")

Tip

In production environments we strongly recommend running ClickHouse Keeper on dedicated nodes.
In test environments, if you decide to run ClickHouse Server and ClickHouse Keeper on the same server,
then you don't need to install ClickHouse Keeper as it is included with ClickHouse server.

To install `clickhouse-keeper` on standalone ClickHouse Keeper servers, run:

```
sudo apt-get install -y clickhouse-keeper
```

Enable and start ClickHouse Keeper

## Enable and start ClickHouse Keeper[​](#enable-and-start-clickhouse-keeper "Direct link to Enable and start ClickHouse Keeper")

```
sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper
sudo systemctl status clickhouse-keeper
```

## Packages[​](#packages "Direct link to Packages")

The various deb packages available are detailed below:

|  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Package Description|  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `clickhouse-common-static` Installs ClickHouse compiled binary files.|  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | | `clickhouse-server` Creates a symbolic link for `clickhouse-server` and installs the default server configuration.| `clickhouse-client` Creates a symbolic link for `clickhouse-client` and other client-related tools, and installs client configuration files.| `clickhouse-common-static-dbg` Installs ClickHouse compiled binary files with debug info.|  |  | | --- | --- | | `clickhouse-keeper` Used to install ClickHouse Keeper on dedicated ClickHouse Keeper nodes. If you're running ClickHouse Keeper on the same server as ClickHouse server, then you don't need to install this package. Installs ClickHouse Keeper and the default ClickHouse Keeper configuration files. | | | | | | | | | | | |

  

References

If you need to install a specific version of ClickHouse, you have to install all packages with the same version:
`sudo apt-get install clickhouse-server=21.8.5.7 clickhouse-client=21.8.5.7 clickhouse-common-static=21.8.5.7`

- [Review recommendations](#review-recommendations)- [Set up the Debian repository](#setup-the-debian-repository)- [Install ClickHouse server and client](#install-clickhouse-server-and-client)- [Start ClickHouse](#start-clickhouse-server)- [Install standalone ClickHouse Keeper](#install-standalone-clickhouse-keeper)- [Enable and start ClickHouse Keeper](#enable-and-start-clickhouse-keeper)- [Packages](#packages)

Was this page helpful?