一、简介
Clickhouse 是一个高性能且开源的数据库管理系统,主要用于在线分析处理 (OLAP) 业务。它采用列式存储结构,可使用 SQL 语句实时生成数据分析报告,另外它还支持索引,分布式查询以及近似计算等特性,凭借其优异的表现,ClickHouse 在各大互联网公司均有广泛地应用。本文详细描述了Clickhouse单机版和集群的部署过程。
二、单机部署ClickHouse
由于ClickHouse是不支持Windows系统的,所以只能安装在Linux或者Mac OSX系统上。如果Windows用户需要尝试的话,需要通过虚拟机或者其它方式安装。
根据官网的描述,ClickHouse可以运行在任何Linux系统上,前提是支持SSE 4.2;ClickHouse可以运行在64位Mac OSX上;暂不支持Windows;以下为官网原话:
ClickHouse can run on any Linux, FreeBSD or Mac OS X with x86_64 CPU architecture.Though pre-built binaries are typically compiled to leverage SSE 4.2 instruction set, so unless otherwise stated usage of CPU that supports it becomes an additional system requirement.
1、查看当前CPU是否支持SSE 4.2
ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。
官方预构建的二进制文件通常针对x86_64进行编译,并利用SSE 4.2指令集,因此,除非另有说明,支持它的CPU使用将成为额外的系统需求。下面是检查当前CPU是否支持SSE 4.2的命令:
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
要在不支持SSE 4.2或AArch64,PowerPC64LE架构的处理器上运行ClickHouse,您应该通过适当的配置调整从源代码构建ClickHouse。
2、RPM安装包
安装包列表:
clickhouse-common-static — ClickHouse编译的二进制文件
clickhouse-server — 创建clickhouse-server软连接,并安装默认配置服务
clickhouse-client — 创建clickhouse-client客户端工具软连接,并安装客户端配置文件
clickhouse-common-static-dbg — 带有调试信息的ClickHouse二进制文件
推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm包。首先,需要添加官方存储库:
sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
如果您想使用最新的版本,请用testing替代stable(只推荐您用于测试环境),prestable有时也可用,然后运行命令安装:
sudo yum install clickhouse-server clickhouse-client
也可以从这里手动下载安装包:https://repo.clickhouse.tech/rpm/stable/x86_64
3、TGZ安装包
如果操作系统不支持安装deb或rpm包,也不支持在线安装,建议使用官方预编译的tgz软件包。
所需的版本可以通过curl或wget从存储库 https://repo.clickhouse.tech/tgz/ 下载。
下载后解压缩下载资源文件并使用安装脚本进行安装。以下是一个最新版本的安装示例:
export LATEST_VERSION=`curl https://api.github.com/repos/ClickHouse/ClickHouse/tags 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n 1`
curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-dbg-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-server-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-client-$LATEST_VERSION.tgz
tar -xzvf clickhouse-comm