大数据(5m)ClickHouse极速入门

本文详细介绍了如何在CentOS7上安装ClickHouse,包括环境配置、下载安装、配置文件修改、关闭开机自启以及启动服务。ClickHouse是一款高效的列式存储OLAP数据库,支持SQL,具备多核并行处理和分布式特性,适用于大数据查询场景。

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中
数据写入的过程中不加锁
向量引擎数据可按向量进行处理

列式存储

行式

列式

表引擎

常见表引擎家族说明索引备注
TinyLogLog Family以列文件的形式保存在硬盘
数据写入时,追加到文件末尾
不支持可用于存储小批量处理的中间数据
Memory其它特定数据以未压缩的原始形式直接保存在内存不支持适用于少量数据的高性能查询
MergeTreeMergeTree Family支持 列式存储、分区、稀疏索引、二级索引…支持单节点ClickHouse实例的默认表引擎

MergeTree

  1. 大量数据插入表时,先快速将数据写入表中的各个部分,再对各个部分数据进行后台合并
  2. 创建一个 空间占用不大的 稀疏索引 来 提高查询效率
  3. 可使用分区
  4. 数据支持 复制副本 和 采样

图解稀疏索引

适用于:范围查询过滤
不适用于:点对点查询

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严格设定,不允许超过该设定值
nofilenumber open file最大打开文件数量
nprocnumber 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

注意,要下载相同的版本号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值