2020-04-03 13:23:32 +00:00
---
2022-04-09 13:29:05 +00:00
sidebar_label: Installation
sidebar_position: 1
keywords: [clickhouse, install, installation, docs]
description: ClickHouse can run on any Linux, FreeBSD, or Mac OS X with x86_64, AArch64, or PowerPC64LE CPU architecture.
slug: /en/getting-started/install
2020-04-03 13:23:32 +00:00
---
2022-06-02 10:55:18 +00:00
# Installation
2019-12-05 16:36:51 +00:00
2020-03-20 10:10:48 +00:00
## System Requirements {#system-requirements}
2019-12-05 16:36:51 +00:00
2020-10-13 17:23:29 +00:00
ClickHouse can run on any Linux, FreeBSD, or Mac OS X with x86_64, AArch64, or PowerPC64LE CPU architecture.
2019-12-05 16:36:51 +00:00
2020-10-13 17:23:29 +00:00
Official pre-built binaries are typically compiled for x86_64 and leverage SSE 4.2 instruction set, so unless otherwise stated usage of CPU that supports it becomes an additional system requirement. Here’ s the command to check if current CPU has support for SSE 4.2:
2019-12-05 16:36:51 +00:00
``` bash
$ grep -q sse4_2 /proc/cpuinfo & & echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
```
To run ClickHouse on processors that do not support SSE 4.2 or have AArch64 or PowerPC64LE architecture, you should [build ClickHouse from sources ](#from-sources ) with proper configuration adjustments.
2020-03-20 10:10:48 +00:00
## Available Installation Options {#available-installation-options}
2019-12-05 16:36:51 +00:00
2020-03-18 18:43:51 +00:00
### From DEB Packages {#install-from-deb-packages}
2019-12-05 16:36:51 +00:00
2020-04-28 16:39:50 +00:00
It is recommended to use official pre-compiled `deb` packages for Debian or Ubuntu. Run these commands to install packages:
2019-12-05 16:36:51 +00:00
2020-03-20 10:10:48 +00:00
``` bash
2022-04-09 13:29:05 +00:00
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
2022-03-07 11:20:55 +00:00
2022-04-09 13:29:05 +00:00
echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you've set up a password.
```
2022-03-29 05:09:17 +00:00
2022-04-09 13:29:05 +00:00
< details >
2022-04-03 23:05:35 +00:00
< summary > Deprecated Method for installing deb-packages< / summary >
2022-04-09 13:29:05 +00:00
2022-03-07 11:20:55 +00:00
``` bash
2022-04-09 13:29:05 +00:00
sudo apt-get install apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb https://repo.clickhouse.com/deb/stable/ main/" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.
2022-03-07 11:20:55 +00:00
```
2022-04-09 13:29:05 +00:00
2022-03-07 11:20:55 +00:00
< / details >
2021-10-19 19:38:00 +00:00
You can replace `stable` with `lts` or `testing` to use different [release trains ](../faq/operations/production.md ) based on your needs.
2020-04-28 16:39:50 +00:00
2022-01-18 11:41:33 +00:00
You can also download and install packages manually from [here ](https://packages.clickhouse.com/deb/pool/stable ).
2019-12-05 16:36:51 +00:00
2020-03-20 10:10:48 +00:00
#### Packages {#packages}
2020-01-16 07:55:18 +00:00
2020-03-21 04:11:51 +00:00
- `clickhouse-common-static` — Installs ClickHouse compiled binary files.
2020-03-27 06:02:21 +00:00
- `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.
2020-03-21 04:11:51 +00:00
- `clickhouse-common-static-dbg` — Installs ClickHouse compiled binary files with debug info.
2020-01-16 07:55:18 +00:00
2022-06-02 10:55:18 +00:00
:::info
2022-04-09 13:29:05 +00:00
If you need to install 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`
:::
2021-09-08 15:06:24 +00:00
2020-03-20 10:10:48 +00:00
### From RPM Packages {#from-rpm-packages}
2019-12-05 16:36:51 +00:00
2020-03-27 06:02:21 +00:00
It is recommended to use official pre-compiled `rpm` packages for CentOS, RedHat, and all other rpm-based Linux distributions.
2019-12-05 16:36:51 +00:00
2020-03-19 06:53:47 +00:00
First, you need to add the official repository:
2019-12-05 16:36:51 +00:00
2020-03-20 10:10:48 +00:00
``` bash
2022-04-09 13:29:05 +00:00
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client
sudo /etc/init.d/clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.
2019-12-05 16:36:51 +00:00
```
2022-03-07 11:20:55 +00:00
< details markdown = "1" >
< summary > Deprecated Method for installing rpm-packages< / summary >
2022-04-09 13:29:05 +00:00
2022-03-07 11:20:55 +00:00
``` bash
2022-04-09 13:29:05 +00:00
sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.com/rpm/clickhouse.repo
sudo yum install clickhouse-server clickhouse-client
sudo /etc/init.d/clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.
2019-12-05 16:36:51 +00:00
```
2022-04-09 13:29:05 +00:00
2022-03-07 11:20:55 +00:00
< / details >
2019-12-05 16:36:51 +00:00
2020-05-19 06:02:30 +00:00
If you want to use the most recent version, replace `stable` with `testing` (this is recommended for your testing environments). `prestable` is sometimes also available.
2019-12-05 16:36:51 +00:00
2020-03-19 06:53:47 +00:00
Then run these commands to install packages:
2019-12-05 16:36:51 +00:00
2020-03-20 10:10:48 +00:00
``` bash
2019-12-05 16:36:51 +00:00
sudo yum install clickhouse-server clickhouse-client
```
2022-01-18 11:41:33 +00:00
You can also download and install packages manually from [here ](https://packages.clickhouse.com/rpm/stable ).
2019-12-05 16:36:51 +00:00
2020-04-08 14:22:25 +00:00
### From Tgz Archives {#from-tgz-archives}
2020-01-10 13:48:28 +00:00
2020-01-10 13:58:26 +00:00
It is recommended to use official pre-compiled `tgz` archives for all Linux distributions, where installation of `deb` or `rpm` packages is not possible.
2020-01-10 13:48:28 +00:00
2022-01-18 11:41:33 +00:00
The required version can be downloaded with `curl` or `wget` from repository https://packages.clickhouse.com/tgz/.
2022-02-16 03:22:20 +00:00
After that downloaded archives should be unpacked and installed with installation scripts. Example for the latest stable version:
2020-03-20 10:10:48 +00:00
``` bash
2022-04-09 13:29:05 +00:00
LATEST_VERSION=$(curl -s https://packages.clickhouse.com/tgz/stable/ | \
grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1)
export LATEST_VERSION
2022-06-29 10:33:20 +00:00
case $(uname -m) in
x86_64) ARCH=amd64 ;;
aarch64) ARCH=arm64 ;;
*) echo "Unknown architecture $(uname -m)"; exit 1 ;;
esac
for PKG in clickhouse-common-static clickhouse-common-static-dbg clickhouse-server clickhouse-client
do
curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION-${ARCH}.tgz" \
|| curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION.tgz"
done
exit 0
tar -xzvf "clickhouse-common-static-$LATEST_VERSION-${ARCH}.tgz" \
|| tar -xzvf "clickhouse-common-static-$LATEST_VERSION.tgz"
2022-04-09 13:29:05 +00:00
sudo "clickhouse-common-static-$LATEST_VERSION/install/doinst.sh"
2022-06-29 10:33:20 +00:00
tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION-${ARCH}.tgz" \
|| tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION.tgz"
2022-04-09 13:29:05 +00:00
sudo "clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh"
2022-06-29 10:33:20 +00:00
tar -xzvf "clickhouse-server-$LATEST_VERSION-${ARCH}.tgz" \
|| tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
2022-04-09 13:29:05 +00:00
sudo "clickhouse-server-$LATEST_VERSION/install/doinst.sh"
sudo /etc/init.d/clickhouse-server start
2022-06-29 10:33:20 +00:00
tar -xzvf "clickhouse-client-$LATEST_VERSION-${ARCH}.tgz" \
|| tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
2022-04-09 13:29:05 +00:00
sudo "clickhouse-client-$LATEST_VERSION/install/doinst.sh"
2020-01-10 13:48:28 +00:00
```
2022-03-07 11:20:55 +00:00
< details markdown = "1" >
2020-01-10 13:48:28 +00:00
2022-03-07 11:20:55 +00:00
< summary > Deprecated Method for installing tgz archives< / summary >
2022-04-09 13:29:05 +00:00
2022-03-07 11:20:55 +00:00
``` bash
2022-04-09 13:29:05 +00:00
export LATEST_VERSION=$(curl -s https://repo.clickhouse.com/tgz/stable/ | \
grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1)
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-common-static-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-common-static-dbg-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-server-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-client-$LATEST_VERSION.tgz
tar -xzvf clickhouse-common-static-$LATEST_VERSION.tgz
sudo clickhouse-common-static-$LATEST_VERSION/install/doinst.sh
tar -xzvf clickhouse-common-static-dbg-$LATEST_VERSION.tgz
sudo clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh
tar -xzvf clickhouse-server-$LATEST_VERSION.tgz
sudo clickhouse-server-$LATEST_VERSION/install/doinst.sh
sudo /etc/init.d/clickhouse-server start
tar -xzvf clickhouse-client-$LATEST_VERSION.tgz
sudo clickhouse-client-$LATEST_VERSION/install/doinst.sh
2020-01-10 13:48:28 +00:00
```
2022-03-07 11:20:55 +00:00
< / details >
2020-01-10 13:48:28 +00:00
2020-03-20 10:10:48 +00:00
For production environments, it’ s recommended to use the latest `stable` -version. You can find its number on GitHub page https://github.com/ClickHouse/ClickHouse/tags with postfix `-stable` .
2020-01-10 13:48:28 +00:00
2020-03-20 10:10:48 +00:00
### From Docker Image {#from-docker-image}
2019-12-05 16:36:51 +00:00
2021-09-19 22:45:18 +00:00
To run ClickHouse inside Docker follow the guide on [Docker Hub ](https://hub.docker.com/r/clickhouse/clickhouse-server/ ). Those images use official `deb` packages inside.
2019-12-05 16:36:51 +00:00
2021-06-15 19:29:11 +00:00
### Single Binary {#from-single-binary}
2021-06-09 23:31:32 +00:00
2021-09-22 00:22:57 +00:00
You can install ClickHouse on Linux using a single portable binary from the latest commit of the `master` branch: [https://builds.clickhouse.com/master/amd64/clickhouse].
2021-06-09 23:31:32 +00:00
2021-06-15 19:29:11 +00:00
``` bash
2021-09-22 00:22:57 +00:00
curl -O 'https://builds.clickhouse.com/master/amd64/clickhouse' & & chmod a+x clickhouse
2021-06-09 23:31:32 +00:00
sudo ./clickhouse install
```
2020-06-23 18:44:13 +00:00
### From Precompiled Binaries for Non-Standard Environments {#from-binaries-non-linux}
2022-06-02 13:01:59 +00:00
For non-Linux operating systems and for AArch64 CPU architecture, ClickHouse builds are provided as a cross-compiled binary from the latest commit of the `master` branch (with a few hours delay).
2022-03-29 14:26:35 +00:00
2022-04-09 13:29:05 +00:00
- [MacOS x86_64 ](https://builds.clickhouse.com/master/macos/clickhouse )
```bash
curl -O 'https://builds.clickhouse.com/master/macos/clickhouse' & & chmod a+x ./clickhouse
```
2022-06-02 10:55:18 +00:00
- [MacOS Aarch64 (Apple Silicon) ](https://builds.clickhouse.com/master/macos-aarch64/clickhouse )
2022-04-09 13:29:05 +00:00
```bash
curl -O 'https://builds.clickhouse.com/master/macos-aarch64/clickhouse' & & chmod a+x ./clickhouse
```
2022-06-02 10:55:18 +00:00
- [FreeBSD x86_64 ](https://builds.clickhouse.com/master/freebsd/clickhouse )
2022-04-09 13:29:05 +00:00
```bash
curl -O 'https://builds.clickhouse.com/master/freebsd/clickhouse' & & chmod a+x ./clickhouse
```
2022-06-02 10:55:18 +00:00
- [Linux AArch64 ](https://builds.clickhouse.com/master/aarch64/clickhouse )
2022-04-09 13:29:05 +00:00
```bash
curl -O 'https://builds.clickhouse.com/master/aarch64/clickhouse' & & chmod a+x ./clickhouse
```
2022-03-29 14:26:35 +00:00
2022-04-09 13:29:05 +00:00
Run `sudo ./clickhouse install` to install ClickHouse system-wide (also with needed configuration files, configuring users etc.). Then run `clickhouse start` commands to start the clickhouse-server and `clickhouse-client` to connect to it.
2022-03-29 14:26:35 +00:00
2022-04-09 13:29:05 +00:00
Use the `clickhouse client` to connect to the server, or `clickhouse local` to process local data.
2020-06-23 18:44:13 +00:00
2020-03-20 10:10:48 +00:00
### From Sources {#from-sources}
2019-12-05 16:36:51 +00:00
2022-04-11 05:01:34 +00:00
To manually compile ClickHouse, follow the instructions for [Linux ](../development/build.md ) or [Mac OS X ](../development/build-osx.md ).
2019-12-05 16:36:51 +00:00
You can compile packages and install them or use programs without installing packages. Also by building manually you can disable SSE 4.2 requirement or build for AArch64 CPUs.
2020-04-01 23:51:21 +00:00
Client: programs/clickhouse-client
Server: programs/clickhouse-server
2019-12-05 16:36:51 +00:00
2020-04-01 23:51:21 +00:00
You’ ll need to create a data and metadata folders and `chown` them for the desired user. Their paths can be changed in server config (src/programs/server/config.xml), by default they are:
2020-03-20 10:10:48 +00:00
2020-12-07 16:23:46 +00:00
/var/lib/clickhouse/data/default/
/var/lib/clickhouse/metadata/default/
2019-12-05 16:36:51 +00:00
2020-03-19 06:53:47 +00:00
On Gentoo, you can just use `emerge clickhouse` to install ClickHouse from sources.
2019-12-05 16:36:51 +00:00
2020-03-20 10:10:48 +00:00
## Launch {#launch}
2019-12-05 16:36:51 +00:00
To start the server as a daemon, run:
2021-12-28 10:54:37 +00:00
``` bash
$ sudo clickhouse start
```
2022-05-22 10:19:18 +00:00
There are also other ways to run ClickHouse:
2021-12-28 10:54:37 +00:00
2019-12-05 16:36:51 +00:00
``` bash
$ sudo service clickhouse-server start
```
2021-05-27 19:44:11 +00:00
If you do not have `service` command, run as
2019-12-05 16:36:51 +00:00
``` bash
$ sudo /etc/init.d/clickhouse-server start
```
2021-12-28 01:27:04 +00:00
If you have `systemctl` command, run as
``` bash
$ sudo systemctl start clickhouse-server.service
```
2019-12-05 16:36:51 +00:00
See the logs in the `/var/log/clickhouse-server/` directory.
2021-05-27 19:44:11 +00:00
If the server does not start, check the configurations in the file `/etc/clickhouse-server/config.xml` .
2019-12-05 16:36:51 +00:00
You can also manually launch the server from the console:
``` bash
$ clickhouse-server --config-file=/etc/clickhouse-server/config.xml
```
In this case, the log will be printed to the console, which is convenient during development.
2021-05-27 19:44:11 +00:00
If the configuration file is in the current directory, you do not need to specify the `--config-file` parameter. By default, it uses `./config.xml` .
2019-12-05 16:36:51 +00:00
ClickHouse supports access restriction settings. They are located in the `users.xml` file (next to `config.xml` ).
By default, access is allowed from anywhere for the `default` user, without a password. See `user/default/networks` .
2022-04-11 05:01:34 +00:00
For more information, see the section [“Configuration Files” ](../operations/configuration-files.md ).
2019-12-05 16:36:51 +00:00
After launching server, you can use the command-line client to connect to it:
``` bash
$ clickhouse-client
```
2020-03-19 06:53:47 +00:00
By default, it connects to `localhost:9000` on behalf of the user `default` without a password. It can also be used to connect to a remote server using `--host` argument.
2019-12-05 16:36:51 +00:00
The terminal must use UTF-8 encoding.
2022-04-11 05:01:34 +00:00
For more information, see the section [“Command-line client” ](../interfaces/cli.md ).
2019-12-05 16:36:51 +00:00
Example:
2020-03-20 10:10:48 +00:00
2020-08-06 22:14:31 +00:00
```
2019-12-05 16:36:51 +00:00
$ ./clickhouse-client
ClickHouse client version 0.0.18749.
Connecting to localhost:9000.
Connected to ClickHouse server version 0.0.18749.
:) SELECT 1
SELECT 1
┌─1─┐
│ 1 │
└───┘
1 rows in set. Elapsed: 0.003 sec.
:)
```
**Congratulations, the system works!**
2022-04-11 05:01:34 +00:00
To continue experimenting, you can download one of the test data sets or go through [tutorial ](./../tutorial.md ).
2019-12-05 16:36:51 +00:00
2021-09-19 20:05:54 +00:00
[Original article ](https://clickhouse.com/docs/en/getting_started/install/ ) <!--hide-->