目录
下载地址
https://github.com/ClickHouse/ClickHouse
安装
1. 如果您刚刚开始,想看看ClickHouse能做什么,那么在本地下载ClickHouse的最简单方法是运行 以下命令。它会为您的操作系统下载一个二进制文件,用于运行ClickHouse服务器, clickhouse-client、clickhouse-local、ClickHouse Keeper和其他工具:
curl https://clickhouse.com/ | sh
2. 运行以下命令启动ClickHouse服务器:
./clickhouse server
第一次运行此脚本时,将在当前目录中创建必要的文件和文件夹,然后启动服务器。
3. 打开一个新终端并使用 clickhouse客户端连接到您的服务:
./clickhouse client
ClickHouse client version 23.2.1.1501 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 23.2.1 revision 54461.
local-host :)
您可以开始向ClickHouse发送DDL和SQL命令了!
生产部署
对于ClickHouse的生产部署,请从以下安装选项之一中选择。
从deb-packages包
建议使用Debian或Ubuntu官方预编译的deb
包。运行以下命令安装软件包:
设置Debian存储库
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
GNUPGHOME=$(mktemp -d)
sudo GNUPGHOME="$GNUPGHOME" gpg --no-default-keyring --keyring /usr/share/keyrings/clickhouse-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8919F6BD2B48D754
sudo rm -r "$GNUPGHOME"
sudo chmod +r /usr/share/keyrings/clickhouse-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] https://packages.clickhouse.com/deb stable main" | sudo tee \
/etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
安装ClickHouse服务器和客户端
sudo apt-get install -y clickhouse-server clickhouse-client
启动ClickHouse服务器
sudo service clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you've set up a password.
安装deb-packages的迁移方法
sudo apt-key del E0C56BD4
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
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 set up a password.
手动下载安装包地址
https://packages.clickhouse.com/deb/pool/main/c/
安装独立ClickHouse Keeper
在生产环境中,强烈建议在专用节点上运行ClickHouse Keeper。 在测试环境中,如果您决定在同一台服务器上运行ClickHouse Server和ClickHouse Keeper,则不需要安装ClickHouse Keeper,因为它包含在ClickHouse服务器中。 此命令仅在独立ClickHouse Keeper服务器上需要。
sudo apt-get install -y clickhouse-keeper
启用并启动ClickHouse Keeper
sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper
sudo systemctl status clickhouse-keeper
Packages
clickhouse-common-static
-安装ClickHouse编译的二进制文件。clickhouse-server
-为clickhouse-server
创建符号链接并安装默认服务器配置。clickhouse-client
-为clickhouse-client
和其他客户端相关工具创建符号链接。并安装客户端配置文件。clickhouse-common-static-dbg
-安装ClickHouse编译后的二进制文件和调试信息。clickhouse-keeper
-用于在专用ClickHouse Keeper节点上安装ClickHouse Keeper。 如果您在ClickHouse服务器所在的服务器上运行ClickHouse Keeper,则无需安装此软件包。安装ClickHouse Keeper和默认ClickHouse Keeper配置文件。
如果你需要安装特定版本的ClickHouse,你必须安装相同版本的所有软件包:
sudo apt-get install clickhouse-server=21.8.5.7 clickhouse-client=21.8.5.7 clickhouse-common-static=21.8.5.7
从RPM包
建议使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm
包。
设置RPM存储库
首先,您需要添加官方存储库:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
对于带有zypper
包管理器的系统(openSUSE、SLES):
sudo zypper addrepo -r https://packages.clickhouse.com/rpm/clickhouse.repo -g
sudo zypper --gpg-auto-import-keys refresh clickhouse-stable
之后,任何yum install
都可以被zypper install
替换。要指定特定版本,请在包名末尾添加-$VERSION
,例如:clickhouse-client-22.2.2.22
.
安装ClickHouse服务器和客户端
sudo yum install -y clickhouse-server clickhouse-client
启动ClickHouse服务器
sudo systemctl enable clickhouse-server
sudo systemctl start clickhouse-server
sudo systemctl status clickhouse-server
clickhouse-client # or "clickhouse-client --password" if you set up a password.
安装独立ClickHouse Keeper
在生产环境中,强烈建议在专用节点上运行ClickHouse Keeper。 在测试环境中,如果您决定在同一台服务器上运行ClickHouse Server和ClickHouse Keeper,则不需要安装ClickHouse Keeper,因为它包含在ClickHouse服务器中。 此命令仅在独立ClickHouse Keeper服务器上需要
sudo yum install -y clickhouse-keeper
启用并启动ClickHouse Keeper
sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper
sudo systemctl status clickhouse-keeper
手动下载安装包地址
https://packages.clickhouse.com/rpm/stable/
Tgz 存档
建议对所有Linux发行版使用官方预编译的tgz
存档,在这些版本中不可能安装deb
或rpm
包。
需版本可以从仓库https://packages.clickhouse.com/tgz/下载curl
或wget
。 之后,下载的存档应解包和安装脚本。最新稳定版本的示例:
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
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 clickhouse-keeper
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
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"
源码编译
要手动编译ClickHouse,请按照Linux或macOS的说明操作。
您可以编译包并安装它们,或者在不安装包的情况下使用程序。
Client: <build_directory>/programs/clickhouse-client
Server: <build_directory>/programs/clickhouse-server
您需要手动创建数据和元数据文件夹,并为所需用户创建它们。它们的路径可以在服务器配置(src/programs/server/config.xml)中更改,默认情况下它们是:
/var/lib/clickhouse/data/default/
/var/lib/clickhouse/metadata/default/
在Gentoo上,您可以使用emerge clickhouse
从源代码安装ClickHouse。
安装CI生成的二进制文件
ClickHouse的持续集成(CI)基础设施为ClickHouse中的每个提交生成专门的构建 存储库,例如,已清理的构建,未优化(调试) 构建、交叉编译构建等。虽然这样的构建通常只在开发过程中有用,但在某些情况下也可以 对用户来说很有趣。
由于ClickHouse的CI随着时间的推移而不断发展,因此下载CI生成的版本的确切步骤可能会有所不同。 此外,CI可能会删除太旧的构建工件,使其无法下载。
例如,要下载ClickHouse v23.4的aarch64二进制文件,请执行以下步骤:
- 查找版本v23.4的GitHub拉取请求:释放分支23.4的拉取请求
- 单击“提交”,然后单击类似于“更新自动生成版本到23.4.2.1和贡献者”的提交,以获取您想要安装的特定版本。
- 单击绿色复选框/黄色点/红色叉打开CI复选框列表。
- 点击列表中“ClickHouse Build Check”旁边的“Details”,就会打开一个类似于此页面的页面
- 找到带有compiler =“clang-*-aarch 64”的行-有多行。
- 下载这些构建的工件。
下载不支持SSE 3的非常旧的x86-64系统或不支持SSE 3的旧ARM系统的二进制文件 ARMv8.1-A支持,开一拉 请求和查找CI检查“BuilderBinAmd 64 Compat” “BuilderBinAarch64V80Compat”.然后点击“详情”,打开“构建”文件夹,滚动到最后,找到消息“注意事项:构建URL https://s3.amazonaws.com/clickhouse/builds/PRs/.../.../ binary_aarch64_v80compat/clickhouse”。然后,您可以单击链接下载 build.
仅适用于macOS:使用Homebrew安装
要使用流行的brew
软件包管理器安装ClickHouse,请按照ClickHouse Homebrew龙头中列出的说明操作。
启动
要将服务器作为守护程序启动,请运行:
$ sudo clickhouse start
还有其他方法可以运行ClickHouse:
$ sudo service clickhouse-server start
如果您没有service
命令,请以
$ sudo /etc/init.d/clickhouse-server start
如果你有systemctl
命令,运行为
$ sudo systemctl start clickhouse-server.service
查看/var/log/clickhouse-server/
目录中的日志。
如果服务器未启动,请检查文件/etc/clickhouse-server/config.xml
中的配置。
您也可以从控制台手动启动服务器:
$ clickhouse-server --config-file=/etc/clickhouse-server/config.xml
在这种情况下,日志将被打印到控制台,这在开发过程中非常方便。 如果配置文件在当前目录中,则不需要指定--config-file
参数。默认情况下,它使用./config.xml
。
ClickHouse支持访问限制设置。它们位于users.xml
文件中(紧挨着config.xml
)。 默认情况下,允许default
用户从任何地方访问,无需密码。参见user/default/networks
。 有关详细信息,请参阅“配置文件”一节
启动server后,您可以使用命令行客户端连接到它:
$ clickhouse-client
默认情况下,它代表用户localhost:9000
连接到default
,无需密码。它也可以用于使用--host
参数连接到远程服务器。
终端必须使用UTF-8编码。 有关详细信息,请参阅“命令行客户端”一节
范例:
$ ./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.
:)
恭喜,系统工作!
要继续实验,您可以下载其中一个测试数据集或通过教程。
https://clickhouse.com/docs/en/tutorial
自助管理ClickHouse的建议
ClickHouse可以在任何Linux、FreeBSD或macOS上运行,并使用x86-64、ARM或PowerPC 64 LE CPU架构。
ClickHouse使用所有可用的硬件资源来处理数据。
ClickHouse倾向于以较低时钟速率使用大量内核比以较高时钟速率使用较少内核更有效地工作。
我们建议使用至少4GB的RAM来执行非平凡的查询。ClickHouse服务器可以使用更少的RAM运行,但查询将经常中止。
所需的RAM容量通常取决于:
- 查询的复杂性。
- 查询中处理的数据量。
为了计算所需的RAM容量,您可以估计GROUP BY、DISTINCT、JOIN和您使用的其他操作的临时数据的大小。
为了减少内存消耗,ClickHouse可以将临时数据交换到外部存储。有关详细信息,请参见外部存储器中的GROUP BY。
我们建议在生产环境中禁用操作系统的交换文件。
ClickHouse二进制文件至少需要2.5 GB的磁盘空间来安装。
您的数据所需的存储容量可以根据以下各项单独计算
-
数据量的估计。
您可以对数据进行采样,并从中获取一行的平均大小。然后将该值乘以计划存储的行数。
-
数据压缩系数。
要估计数据压缩系数,请将数据样本加载到ClickHouse中,并将数据的实际大小与存储的表大小进行比较。例如,点击流数据通常被压缩6-10倍。
要计算要存储的最终数据量,请将压缩系数应用于估计的数据量。如果计划在多个副本中存储数据,则将估计的体积乘以副本的数量。
对于分布式ClickHouse部署(集群),我们建议至少使用10G级别的网络连接。
网络带宽对于处理具有大量中间数据的分布式查询至关重要。此外,网络速度会影响复制过程。