文章目录
- ClickHouse简介
- 列式存储
- 表引擎
- MergeTree
- CentOS7安装ClickHouse(21版)
- 1、CentOS环境配置
- 1.1、修改限制
- 1.2、禁用 SELINUX
- 1.3、关闭防火墙
- 1.4、安装相关依赖
- 2、单机部署
- 2.1、下载
- 2.2、文件上传并安装
- 2.3、配置文件
- 3、关闭开机自启
- 4、启动服务端
- 5、使用客户端连接服务端
- 补充:ClickHouse最新稳定版下载方法
ClickHouse简介
- ClickHouse:开源的 高效的 列式存储的 OLAP
- 官方教学:https://clickhouse.tech/docs/en/
主要特点 | 备注 |
列式存储 | OLAP场景下宽表居多,假设从100列的宽表中只取5列,列式比行式大幅度节省IO |
数据存于硬盘 | |
支持SQL | |
支持索引 | Primary Index、Secondary Indexes… |
支持数据压缩 | 除了通用压缩编解码器之外,ClickHouse还提供针对特定类型数据的专用编解码器 |
多核并行处理 | 单个查询 可对 数据 按索引原理 划分为多个部分,多个CPU并行处理数据的各个部分 单条查询充分利用多CPU,极大提升了大数据查询效率,但不利于并发多条查询 |
分布式服务器 | 数据可保存在不同的 查询可在所有 |
支持近似计算 | 允许牺牲数据精度的情况下对查询进行加速 |
支持数据副本 | 异步多主复制:数据被写入任一可用副本后,异步分发给其他副本 故障出现后,多数情况下能自动恢复,少数复杂情况下需要手动恢复 |
支持数据实时更新 | 数据以增量方式有序地存储在MergeTree中 数据写入的过程中不加锁 |
向量引擎 | 数据可按向量进行处理 |
列式存储
行式列式
表引擎
常见表引擎 | 家族 | 说明 | 索引 | 备注 |
TinyLog | Log Family | 以列文件的形式保存在硬盘 数据写入时,追加到文件末尾 | 不支持 | 可用于存储小批量处理的中间数据 |
Memory | 其它特定 | 数据以未压缩的原始形式直接保存在内存 | 不支持 | 适用于少量数据的高性能查询 |
MergeTree | MergeTree Family | 支持 列式存储、分区、稀疏索引、二级索引… | 支持 | 单节点ClickHouse实例的默认表引擎 |
MergeTree
- 大量数据插入表时,先快速将数据写入表中的各个部分,再对各个部分数据进行后台合并
- 创建一个 空间占用不大的 稀疏索引 来 提高查询效率
- 可使用分区
- 数据支持 复制副本
图解稀疏索引适用于:范围查询过滤
不适用于:点对点查询
CentOS7安装ClickHouse(21版)
1、CentOS环境配置
1.1、修改限制
sudo vim /etc/security/limits.conf
在文件末尾添加
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
参数 | 全称? | 说明 |
| 表示所有用户 | |
| 警告设定,允许超过该设定值,但会有警告 | |
| 严格设定,不允许超过该设定值 | |
| number open file | 最大打开文件数量 |
| number process | 系统中最大可同时存在的进程数 |
1.2、禁用 SELINUX
sudo vim /etc/selinux/config
修改内容
SELINUX=disabled
1.3、关闭防火墙
sudo systemctl disable firewalld
sudo systemctl stop firewalld
1.4、安装相关依赖
sudo yum install -y libtool
sudo yum install -y *unixODBC*
2、单机部署
2.1、下载
http://repo.red-soft.biz/repos/clickhouse/stable 或
2.2、文件上传并安装
上传4个文件
ls -l
查看是否上传成功
安装这4个文件
sudo rpm -ivh *.rpm
2.3、配置文件
修改配置文件模式
sudo chmod 751 /etc/clickhouse-server/config.xml
编辑配置文件
sudo vim /etc/clickhouse-server/config.xml
把<listen_host>0.0.0.0</listen_host>
的注解打开(第146行)使本机以外的客户端也能访问
若报Code: 210. DB::NetException: Connection refused (localhost:9000)
就把0.0.0.0
改成::
之后,开启服务后,外部也能访问;sudo netstat -nltp | grep clickhouse
可查看网络端口
3、关闭开机自启
sudo systemctl disable clickhouse-server
4、启动服务端
sudo systemctl start clickhouse-server
ps -ef | grep clickhouse
查看进程
5、使用客户端连接服务端
clickhouse-client -m
-m
全称为multiline,(按分号)多行提交模式
客户端界面客户端版本:
21.4.6.55
补充:ClickHouse最新稳定版下载方法
官方安装命令
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.
官网下载地址:https://packages.clickhouse.com/rpm/stable/
官方安装方法可以下载最新版,如果速度太慢,可改用阿里云镜像台
https://mirrors.aliyun.com/clickhouse/rpm/stable/ 阿里云镜像不一定有最新稳定版
wget clickhouse-client-版本号.x86_64.rpm
wget clickhouse-common-static-版本号.x86_64.rpm
wget clickhouse-common-static-dbg-版本号.x86_64.rpm
wget clickhouse-server-版本号.x86_64.rpm
注意,要下载相同的版本号