ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。
据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLTP:系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;
OLAP:系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。
以下介绍如何搭建ClickHouse服务,以及客户端如何连接。
服务器:detain
clickhouse版本:clickhouse (18.16.1+ds-4+deb10u1)
clickhouse-jdbc版本:
dbeaver版本:
1、安装clickhouse-server
1)在服务器安装,clickhouse-server,clickhouse-client,clickhouse-common:
root@: apt-get install clickhouse-server,clickhouse-client,clickhouse-common
2)查看clickhouse是否启动服务
root@zjs24:/etc/clickhouse-server# systemctl status clickhouse-server
● clickhouse-server.service - ClickHouse ServerLoaded: loaded (/lib/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)Active: active (running) since Sun 2022-12-04 15:43:33 CST; 50min agoMain PID: 18594 (clickhouse-serv)Tasks: 30 (limit: 4915)Memory: 123.8MCGroup: /system.slice/clickhouse-server.service└─18594 /usr/sbin/clickhouse-server --config=/etc/clickhouse-server/config.xml12月 04 15:43:33 zjs24 systemd[1]: Started ClickHouse Server.
12月 04 15:43:33 zjs24 clickhouse-server[18594]: Include not found: clickhouse_remote_servers
12月 04 15:43:33 zjs24 clickhouse-server[18594]: Include not found: clickhouse_compression
12月 04 15:43:33 zjs24 clickhouse-server[18594]: Logging warning to /var/log/clickhouse-server/clickhouse-server.log
12月 04 15:43:33 zjs24 clickhouse-server[18594]: Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
12月 04 15:43:33 zjs24 clickhouse-server[18594]: Warning in cpuinfo: kernel_max value of 8191 parsed from /sys/devices/system/cpu/kernel_max exceeds platform-default limit 1023
12月 04 15:43:33 zjs24 clickhouse-server[18594]: Include not found: networks
12月 04 15:43:35 zjs24 clickhouse-server[18594]: Include not found: clickhouse_remote_servers
12月 04 15:43:35 zjs24 clickhouse-server[18594]: Include not found: clickhouse_compression
3)进入配置文件 config.xml,确认此三个端口是否有开启
root@zjs24:/etc/clickhouse-server# nano config.xml#dbeave使用http端口协议<http_port>8123</http_port><tcp_port>9000</tcp_port><mysql_port>9004</mysql_port>#确保放开远程访问<listen_host>0.0.0.0</listen_host>
4)防火墙放通823端口
root@zjs24:/etc/clickhouse-server# firewall-cmd --zone=public --permanent --add-port=8123/tcproot@zjs24:/etc/clickhouse-server# firewall-cmd --list-all
publictarget: defaulticmp-block-inversion: nointerfaces:sources:services: dhcpv6-client sshports: 8123/tcp
5)测试端口是否监控,以及远程是否可访问
root@zjs24:/etc/clickhouse-server# lsof -i:8123
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
clickhous 18594 clickhouse 8u IPv4 90175709 0t0 TCP *:8123 (LISTEN)
在客户端 cmd 命令:telnet 192.168.0.1 8123
6)配置密码,clickhouse的默认账号是default,进入user.xml可设置密码
有两种方式设密码,可查看指引如下:clickhouse设置用户名密码_时间都哪去了的博客-CSDN博客_clickhouse修改密码
至此服务器配置完成。
2、dbeaver客户端配置
clickhouse其实有很多客户端工具,
1、Tabix:ClickHouse Web 界面 Tabix.
2、HouseOps:是一个交互式 UI/IDE 工具,可以运行在 OSX, Linux and Windows 平台中
3、灯塔 是ClickHouse的轻量级Web界面。
4、clickhouse-client:自带的命令工具
5、dbm:是ClickHouse的替代命令行客户端,用Python 3编写。
在使用dbeaver之前, 尝试使用以上5种工具,感觉用得不顺手,最后选择dbeaver。
1)下载dbeaver客户端,官网无法下载,我到github下载release了。
Releases · dbeaver/dbeaver · GitHub
2)配置驱动
进入软件后,打开路径 数据库-新建数据库链接,这里有两个clickhouse版本,我选择legacy,较低版本的,高版本(即是第二个)测试连接不了。
依次输入ip地址,账号default 密码是以上设置的密码
有可能出错有2个
第一个错误:无法下载驱动,这里不得不吐槽下dbeaver,没有配置jdbc驱动,还得让用户找半天的。
我在这里下载jdbc驱动:Download clickhouse-jdbc JAR files with all dependencies
第二个错误:ClickHouse response without column names
可在驱动属性-compress选项,配置false
最终连接成功。