---
url: /clickhouse/quickdeploy.md
description: 本文介绍如何单机安装高性能列式存储数据库ClickHouse
---

# 单机安装高性能列式存储数据库ClickHouse

## 前言

最近有很多粉丝私信我问各种问题，首先呢非常高兴大家对我的信任，我也会尽量抽出时间为大家答疑解惑。但是需要说明的是，我不可能遇到过所有的问题，有时候只能给给大家一些解决问题的思路，望大家谅解。

在解答的过程中有一个感受：**一看就会，一做就废！**。在此也给初学者们一个建议，就是**多动手**，不要试图通过问来消除心中所有的疑问。

回归正题，前面为大家介绍了什么是ClickHouse，如果只是看了一下介绍是很难有一个深刻认知的。本文我将会带领大家完成ClickHouse的单机部署。

ClickHouse支持Docker部署，之前也多次讲过Docker部署Doris等，这里不再赘述。还不会的同学可以翻阅历史文章学习。

## 单机部署

#### 查看安装包

查看ClickHouse所有版本的安装包，访问`https://packages.clickhouse.com/tgz/`

![](https://files.mdnice.com/user/451/fd85838c-0994-41be-927d-6965d3461c4b.png)

也就是说，我们需要用到的安装包都是从这里下载的。

#### 获取最新稳定版本的版本号

通过curl获取ClickHouse的所有版本，并通过正则表达式提取出所有的版本号，然后排序，得到最新的版本号。

```sh
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
```

此处只是通过shell脚本获取了最新版本号，如果您已经有了明确要使用的版本，可以直接下载。

#### 获取系统架构

获取您当前系统的架构，后续会自动下载对应的版本。

```sh
case $(uname -m) in
  x86_64) ARCH=amd64 ;;
  aarch64) ARCH=arm64 ;;
  *) echo "Unknown architecture $(uname -m)"; exit 1 ;;
esac
```

#### 依次下载需要使用的安装包

通过for循环的方式依次下载所有的安装包

```sh
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
```

![](https://files.mdnice.com/user/451/133fcca1-011f-487f-85d6-51d148daf073.png)

#### 依次解压并安装

在执行过程中会需要用户输入数据库密码等，处理后才会继续进行，别傻傻等着就好。

```sh
tar -xzvf "clickhouse-common-static-$LATEST_VERSION-${ARCH}.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-${ARCH}.tgz" \
  || 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-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
sudo "clickhouse-server-$LATEST_VERSION/install/doinst.sh" configure
sudo /etc/init.d/clickhouse-server start

tar -xzvf "clickhouse-client-$LATEST_VERSION-${ARCH}.tgz" \
  || tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
sudo "clickhouse-client-$LATEST_VERSION/install/doinst.sh"
```

#### 验证

访问`http://localhost:8123/`，如果页面显示`OK.`，则代表服务已经正常启动了。如果没有启动，则可以通过以下方式启动：

```sh
clickhouse-server
```

或者

```sh
sudo /etc/init.d/clickhouse-server start
```

#### 体验

需要注意的是，ClickHouse并没有直接提供一个Web UI页面供大家体验，此处推荐大家两种方式：

* clickhouse-client
  在命令行直接输入`clickhouse-client`，输入前面设置的密码即可登录成功。

![](https://files.mdnice.com/user/451/1db0b154-08e3-4217-a643-e1735de51e9c.png)

查看数据库`show databases;`

![](https://files.mdnice.com/user/451/c47d14c6-2fe3-4057-9e83-67064f06d2c3.png)

* DBeaver

DBeaver是一个免费的数据库管理工具，之前有详细介绍过，不再赘述。完成基本信息的配置就可以体验ClickHouse了。

![](https://files.mdnice.com/user/451/a545e1c5-d8fa-40a0-84b8-8df09c2abca4.png)

## 进阶

部署往往是我们学习的起点，很多同学就卡在了部署上，然后迟迟无法获得进步。学会简单的部署只是第一步，后面同学们需要花更多的时间学习ClickHouse的用法，才能真正算是入门。如果同学们想要继续学习ClickHouse，可以关注：遇码，回复**clickhouse**，获取官方文档。
