1、简介
Clickhouse 是一个开源的面向联机分析处理(OLAP, On-Line Analytical Processing)的列式存储数据库管理系统。写入快、查询快,支持sql向量化、并行和分布式查询;但是不支持事务,不支持二级索引等。由俄罗斯的Yandex公司研发。
2、下载安装
2.1、clickhouse 下载
下载地址:https://github.com/ClickHouse/ClickHouse/releases/tag/v23.12.2.59-stable
下载如下安装包:
2.2、安装
安装 clickhouse 非常简单,只需两步即可完成安装,安装完成后会自动生成 用户:用户组=clickhouse:clickhouse。
# 1、安装
rpm -ivh *.rpm # 自动安装所有 rpm 包
# 2、安装完成会让配置密码
输入密码:
2.3、clickhouse 目录说明
目录 | 说明 |
/etc/clickhouse-server | 服务端配置文件路径,包括全局配置文件 config.xml和用户配置文件 users.xml。 |
/var/lib/clickhouse | 默认数据存储目录,可以在 config.xml 中修改。 |
/var/log/clickhouse-server | 默认日志保存目录,可以在 config.xml 中修改。 |
/etc/security/limits.d/clickhouse.conf | 设置文件句柄数量,也可以通过 config.xml文件中 max_open_files 参数设置。 |
注:修改日志和数据存储目录,日志和数据存储目录的用户和用户组都要设置为 clickhouse。
chown -R clickhouse:clickhouse 指定路径
3、常用操作命令
3.1、服务端常用命令
# 1、启动clickhouse
systemctl start clickhouse-server
# 2、查看状态
systemctl status clickhouse-server
# 3、停止clickhouse
systemctl stop clickhouse-server
# 4、重启clickhouse
systemctl restart clickhouse-server
# 5、设置开机自启动
systemctl enable clickhouse-server
# 5、关闭开机自启动
systemctl disenable clickhouse-server
3.2、启动服务注意事项
如果修改配置文件,如修改日志和数据存储路径等,修改之后要重新启动。有两种方式:
3.2.1、使用默认配置文件启动(常用)
使用默认配置文件启动可以直接使用命令启动。
systemctl start clickhuse-server
3.2.2、指定配置文件启动
指定配置文件启动,需要切换到 clickhouse 用户下。
clickhouse-server --config-file=/etc/clickhouse-server/config.xml
3.3、客户端常用操作命令
# 1、连接命令
clickhouse-client -h[--host] ip地址 --port 端口 --user[-u] 用户名 --password 密码 --database[-d] 数据库名 --query[-q] sql语句 ...
clickhouse-client 命令参数具体含义如下表:
参数 | 描述 |
--host [-h] | 服务端地址,默认值为 localhost。 |
--port | 服务端端口号,默认值为9000。config.xml文件中的tcp_port 参数指定 |
--user [-u] | 登录用户名,默认值为 default。 |
--password | 登录密码,默认为空。 |
--database [-d] | 登录数据库,默认值为 default。 |
--query [-q] | 非交互查询,指定 sql。 |
--multiquery [-n] | 非交互查询,指定多条 sql,每条sql用分号隔开。 |
--time [-t] | 非交互查询,打印每条 sql 执行时间。 |
--help | 查看帮助命令 |
注:clickhouse 底层支持两种协议:tcp 和 http,tcp 默认端口为 9000,用于集群内部通信和客户端连接;http 协议默认端口为 8123,通过 rest 服务形式进行访问。
3.4、非交互式执行示例,可以举一反三
# 1、文件内容写入数据库
cat test.tsv | clickhuse-client --query "insert into test format tsv"
# 2、查询结果写到文件
clickhouse-client --query "select * from test" > test.tsv
4、clickhouse 入门使用
clickhouse 关于库表的操作,基本和MySQL没有差别,主要差别在于分布式、数据类型、数据库引擎等方面,这些将在后文介绍。
# 1、连接服务端
clickhouse-cient --password 123456
# 2、查看数据库列表
show databases;
# 3、使用指定的数据库
use default;
$ 4、查看数据表列表
show tables;
5、总结
本文介绍 clickhouse 的单机版安装、操作使用,帮助大家快速上手clickhouse,关于clickhouse 更高级的内容将会持续更新。
本人是一个从小白自学计算机技术,对运维、后端、各种中间件技术、大数据等有一定的学习心得,想获取自学总结资料(pdf版本)或者希望共同学习,关注微信公众号:it自学社团。后台回复相应技术名称/技术点即可获得。(本人学习宗旨:学会了就要免费分享)