OLAP系列之分析型数据库clickhouse单机版部署(一)

发布时间 2023-07-21 09:20:49作者: 杨梅冲

一、概述

官网:https://clickhouse.com/docs/zh

ClickHouse是Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告.

clickhouse优势:
与Hadoop、Spark这些巨无霸组件相比,ClickHouse很轻量级,其特点:
1.列式存储数据库,数据压缩
2.关系型、支持SQ
3.分布式并行计算,把单机性能压榨到极限
4.高可用
5.数据量级在PB级别
6.实时数据更新
7.索引

clickhouse限制:
1.缺少高频率,低延迟的修改或删除已存在数据的能力。仅能用于批量删除或修改数据
2.没有完整的事务支持
3.不支持二级索引
4.有限的SQL支持,join实现与众不同
5.不支持窗口功能
6.元数据管理需要人工干预维护


ClickHouse使用现状:
ClickHouse 是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域:
1.今日头条内部用 ClickHouse 来做用户行为分析,内部一共几千个 ClickHouse 节点,单集群最大 1200 节点,总数据量几十 PB,日增原始数据 300TB 左右
2.腾讯内部用 ClickHouse 做游戏数据分析,并且为之建立了一整套监控运维体系。
3.携程内部从 18 年 7 月份开始接入试用,目前 80% 的业务都跑在 ClickHouse 上。每天数据增量十多亿,近百万次查询请求。
4.快手内部也在使用 ClickHouse,存储总量大约 10PB, 每天新增 200TB, 90% 查询小于 3S

在 1 亿数据集体量的情况下,ClickHouse 的平均响应速度是 Vertica 的 2.63 倍、InfiniDB 的 17 倍、MonetDB 的 27 倍、Hive 的 126 倍、MySQL 的 429 倍以及Greenplum 的 10 倍。详细的测试结果可以查阅:https://clickhouse.tech/benchmark/dbms/

ClickHouse 非常适用于商业智能领域(也就是我们所说的 BI 领域),除此之外,它也能够被广泛应用于广告流量、Web、App 流量、电信、金融、电子 商务、信息安全、网络游戏、物联网等众多其他领域

二、环境准备

IP 配置 clickhouse版本
192.168.10.35 Centos 6.9 2核4G 22.8.20.11

 

 

下载地址:https://packages.clickhouse.com/tgz/lts/

下载的安装包如下:

clickhouse-client-22.8.20.11-amd64.tgz
clickhouse-common-static-22.8.20.11-amd64.tgz
clickhouse-common-static-dbg-22.8.20.11-amd64.tgz
clickhouse-server-22.8.20.11-amd64.tgz

三、单机部署

# 1.解压安装包
mkdir -p /usr/local/clickhouse
cd /usr/local/clickhouse

# 2.上传安装文件至目录
tar -xzvf clickhouse-client-22.8.20.11.tgz
tar -xzvf clickhouse-common-static-22.8.20.11.tgz
tar -xzvf clickhouse-common-static-dbg-22.8.20.11.tgz
tar -xzvf clickhouse-server-22.8.20.11.tgz

# 3.安装
clickhouse-common-static-22.8.20.11/install/doinst.sh
clickhouse-common-static-dbg-22.8.20.11/install/doinst.sh
clickhouse-server-22.8.20.11/install/doinst.sh
## 根据提示设置数据库用户密码 123456
## 根据提示设置允许所有网络连接
clickhouse-client-22.8.20.11/install/doinst.sh

# 4. 修改配置文件
(1) 修改/etc/clickhouse-server/config.xml监听地址
vi /etc/clickhouse-server/config.xml
<listen_host>0.0.0.0</listen_host>  # 取消注释

(2) 修改文件/etc/clickhouse-server/config.d/listen.xml,修改为以下配置
vim /etc/clickhouse-server/config.d/listen.xml
<clickhouse>
    <listen_host>0.0.0.0</listen_host>
</clickhouse>

# 5.启动clickhouse
clickhouse start
[root@sql clickhouse]# netstat -ntlp| grep clickhouse
tcp        0      0 0.0.0.0:8123            0.0.0.0:*               LISTEN      127131/clickhouse-s 
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      127131/clickhouse-s 
tcp        0      0 0.0.0.0:9004            0.0.0.0:*               LISTEN      127131/clickhouse-s 
tcp        0      0 0.0.0.0:9005            0.0.0.0:*               LISTEN      127131/clickhouse-s 
tcp        0      0 0.0.0.0:9009            0.0.0.0:*               LISTEN      127131/clickhouse-s

# clickhouse-client连接
[root@sql clickhouse]# clickhouse-client --password dmgame
sql :) show databases;

SHOW DATABASES

Query id: 05d270eb-a181-4ec5-a16b-2730a1a21333

┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ default            │
│ information_schema │
│ system             │
└────────────────────┘

4 rows in set. Elapsed: 0.004 sec.

# 状态查询
[root@sql clickhouse]# systemctl status clickhouse-server
● clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
   Loaded: loaded (/usr/lib/systemd/system/clickhouse-server.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

# 日志查看
[root@sql clickhouse]# tail -100f /var/log/clickhouse-server/clickhouse-server.err.log 
2023.07.20 18:05:54.553825 [ 127131 ] {} <Warning> Context: Linux transparent hugepages are set to "always". Check /sys/kernel/mm/transparent_hugepage/enabled
2023.07.20 18:05:54.553946 [ 127131 ] {} <Warning> Context: Linux threads max count is too low. Check /proc/sys/kernel/threads-max
2023.07.20 18:05:54.819162 [ 127131 ] {} <Warning> Context: Maximum number of threads is lower than 30000. There could be problems with handling a lot of simultaneous queries.
2023.07.20 18:05:54.878573 [ 127131 ] {} <Warning> Access(local directory): File /var/lib/clickhouse/access/users.list doesn't exist
2023.07.20 18:05:54.878607 [ 127131 ] {} <Warning> Access(local directory): Recovering lists in directory /var/lib/clickhouse/access/

四、数据库管理工具访问

推荐使用DBeaver工具访问

 

 

参考文献:

clickhouse官方安装方法

OLAP系列clickhouse介绍

OLAP系列:一、分析型数据库clickhouse的概述与单机部署试用