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 来访问

相关推荐
gengjianchun5 小时前
clickhouse 安装配置
服务器·网络·clickhouse
大嘴吧Lucy5 小时前
实战攻略 | ClickHouse优化之FINAL查询加速
数据库·mysql·clickhouse
东皋长歌5 小时前
SpringBoot+ClickHouse集成
clickhouse·springboot
从未完美过14 小时前
ClickHouse集成Mysql表引擎跨服务器读表说明
服务器·mysql·clickhouse
华为云开发者联盟2 天前
华为云开源时序数据库openGemini:使用列存引擎解决时序高基数问题
clickhouse·时序数据库·高基数·opengemini
偏振万花筒3 天前
【BUG分析】clickhouse表final成功,但存在数据未合并
clickhouse·bug
爱折腾的小码农3 天前
宝塔使用clickhouse踩坑
clickhouse
激流丶3 天前
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
java·clickhouse·数据挖掘·数据分析·物化视图
程序员阿明3 天前
clickhouse配置用户角色与权限
java·数据库·clickhouse