ClickHouse安装

一,ClickHouse介绍

ClickHouse 是一个开源的列式数据库管理系统(Column-Oriented DBMS),由俄罗斯的 Yandex 公司开发。它最初是为 Yandex 的 Metrica 分析服务设计的,用于处理大规模的数据分析任务。ClickHouse 能够提供快速的数据查询性能,即使在处理非常大的数据集时也能保持高效。

特点:

  • 高性能:ClickHouse 针对读取操作进行了优化,能够以极高的速度处理复杂的查询。
  • 列式存储:与传统的行式存储不同,列式存储可以更有效地压缩数据,并且在进行聚合查询时效率更高。
  • SQL 支持:虽然 ClickHouse 使用的是 SQL 的一个变种,但它支持大多数标准 SQL 查询,使得用户能够轻松地执行复杂的数据分析任务。
  • 分布式处理:ClickHouse 可以部署为分布式集群,支持跨多个节点的数据存储和处理,这有助于提高系统的可扩展性和可用性。
  • 易用性:安装和配置相对简单,同时也提供了丰富的文档和支持。
  • 灵活的数据类型:支持多种数据类型,包括数组、嵌套结构等,使得数据模型更加灵活。

应用场景:

  • 实时数据分析
  • 日志分析
  • 业务智能报告
  • 在线广告系统
  • 用户行为分析

关于列式存储:

1)采用行式存储时,数据在磁盘上的组织结构为:

每条记录的信息是在一起的,多条记录依次排列。
好处是想查某个人所有的属性时,可以通过一次磁盘查找加顺序读取就可以。但是当想查所有人的年龄时,需要不停的查找,或者全表扫描才行,遍历的很多数据都是不需要的。

2)采用列式存储时,数据在磁盘上的组织结构为:


按列来存储数据,同一个字段(列)的数据是放在一起的。

好处是如果要对某一列的数据做聚合计算的时候,只需要查询这个字段的数据块,而不是全表查询。

3)列式存储的好处:

  • 对于列的聚合、计数、求和等统计操作原因优于行式存储;
  • 由于某一列的数据类型都是相同的,针对于数据存储更容易进行数据压缩,每一列选择更优的数据压缩算法,大大提高了数据的压缩比重;
  • 由于数据压缩比更好,一方面节省了磁盘空间,另一方面对于cache也有了更大的发挥空间

二,安装

1,下载安装包

地址:https://packages.clickhouse.com/rpm/stable/

wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-client-21.7.3.14-2.noarch.rpm
wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-common-static-21.7.3.14-2.x86_64.rpm
wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-common-static-dbg-21.7.3.14-2.x86_64.rpm
wget https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/clickhouse-server-21.7.3.14-2.noarch.rpm

2,安装rpm

rpm -ivh *.rpm

3,配置

cd /etc/clickhouse-server/

vi config.xml

把<listen_host>0.0.0.0</listen_host>注释打开,保证服务能被非本机访问到。

这个配置文件中,ClickHouse有一些默认路径配置:

数据文件路径:<path>/var/lib/clickhouse/</path>

日志文件路径:<log>/var/log/clickhouse-server/clickhouse-server.log</log>

4,在安装过程中,会默认创建用户组和用户

clickhouse/clickhouse

5,在安装过程中,会让你输入一个密码,这个在后面登录的时候会用到。

6,启动

systemctl start clickhouse-server

7,查看启动状态

systemctl status clickhouse-server

ClickHouse默认会有两个端口,在本机上连是9000端口,通过连接工具用http连接是8123端口。

三,连接

1,使用clickhouse-client -m连接

clickhouse-client -m

如果报错:

(1)Code: 210. DB::NetException: Connection refused (localhost:9000). (NETWORK_ERROR)

就需要修改config.xml文件中的<listen_host>0.0.0.0</listen_host>,打开注释,重启

(2)Code: 516. DB::Exception: Received from localhost:9000. DB::Exception: default: Authentication failed: password is incorrect or there is no user with such name. (AUTHENTICATION_FAILED)

就需要加上密码,密码就是在安装步骤中设定的那个密码

clickhouse-client -m --password

如何免密:

cd /etc/clickhouse-server/users.d

删除下面的文件(defaultUser.xml)。

再连接的时候就不需要带密码了,clickhouse-client -m 就可以连接了。

2,数据库连接工具上连接

以DBeaver为例

填入主机IP,端口号是默认的8123.

因为我们没有密码,所以直接可以测试连接和完成保存了。

3,在浏览器连接

ClickHouse默认提供了一个WebUI工具,通过路径 IP:8123/play 来访问

相关推荐
吹老师个人app编程教学6 小时前
clickhouse-题库
clickhouse
fusugongzi6 小时前
clickhouse一直重启,日志提示structure needs cleaning
clickhouse
arnold668 小时前
深入探索 ClickHouse:性能优化之道
clickhouse·性能优化
孤独天狼1 天前
Clickhouse(Centos)
clickhouse
Favor_Yang2 天前
C# 连接ClickHouse 数据库
数据库·clickhouse·c#
fusugongzi3 天前
clickhouse优化记录
clickhouse
吹老师个人app编程教学3 天前
clickhouse-副本和分片
java·服务器·clickhouse
天地风雷水火山泽4 天前
二百七十九、ClickHouse——用Kettle对DWD层清洗数据进行增量补全
clickhouse
天地风雷水火山泽4 天前
二百八十、ClickHouse——用Kettle对DWD层补全的清洗数据进行记录
大数据·clickhouse·kettle
wending-Y4 天前
clickhouse 查询优化思路
clickhouse