文章目录
ClickHouse简介
- ClickHouse:开源的 高效的 列式存储的 OLAP 数据库管理系统
- 官方教学:https://clickhouse.tech/docs/en/
| 主要特点 | 备注 |
|---|---|
| 列式存储 | OLAP场景下宽表居多,假设从100列的宽表中只取5列,列式比行式大幅度节省IO |
| 数据存于硬盘 | |
| 支持SQL | |
| 支持索引 | Primary Index、Secondary Indexes… |
| 支持数据压缩 | 除了通用压缩编解码器之外,ClickHouse还提供针对特定类型数据的专用编解码器 |
| 多核并行处理 | 单个查询 可对 数据 按索引原理 划分为多个部分,多个CPU并行处理数据的各个部分 单条查询充分利用多CPU,极大提升了大数据查询效率,但不利于并发多条查询 |
| 分布式服务器 | 数据可保存在不同的shard上,每个shard由一组用于容错的replica组成查询可在所有 shard上并行 |
| 支持近似计算 | 允许牺牲数据精度的情况下对查询进行加速 |
| 支持数据副本 | 异步多主复制:数据被写入任一可用副本后,异步分发给其他副本 故障出现后,多数情况下能自动恢复,少数复杂情况下需要手动恢复 |
| 支持数据实时更新 | 数据以增量方式有序地存储在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
| 参数 | 全称? | 说明 |
|---|---|---|
* | 表示所有用户 | |
soft | 警告设定,允许超过该设定值,但会有警告 | |
hard | 严格设定,不允许超过该设定值 | |
nofile | number open file | 最大打开文件数量 |
nproc | 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
或
https://download.youkuaiyun.com/download/Yellow_python/21792011
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
注意,要下载相同的版本号
本文详细介绍了如何在CentOS7上安装ClickHouse,包括环境配置、下载安装、配置文件修改、关闭开机自启以及启动服务。ClickHouse是一款高效的列式存储OLAP数据库,支持SQL,具备多核并行处理和分布式特性,适用于大数据查询场景。







9936

被折叠的 条评论
为什么被折叠?



