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版本:clickhouse-client-0.3.2

dbeaver版本:22.2.5.202211202223

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 Server
   Loaded: loaded (/lib/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2022-12-04 15:43:33 CST; 50min ago
 Main PID: 18594 (clickhouse-serv)
    Tasks: 30 (limit: 4915)
   Memory: 123.8M
   CGroup: /system.slice/clickhouse-server.service
           └─18594 /usr/sbin/clickhouse-server --config=/etc/clickhouse-server/config.xml

12月 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/tcp

root@zjs24:/etc/clickhouse-server# firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports: 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

 

 最终连接成功。

最后推荐一个博文,可下载其他的数据库驱动。

DBeaver-Driver-All ( DBeaver驱动包,所有JDBC驱动整合包)_Moshow郑锴的博客-CSDN博客_clickhouse-jdbc-0.2.4.jar

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐