podman安装clickhouse

podman安装clickhouse

1.什么是ClickHouse

ClickHouse 是一款开源列式存储 OLAP 数据库,由 Yandex 开发,主打海量数据实时分析。它采用列式存储、向量化执行引擎、数据分片与并行计算,对聚合、过滤、统计类查询性能极强,适合日志、埋点、监控、金融流水等大宽表场景。支持 SQL 语法,兼容丰富数据格式,可批量高速写入。它不擅长高频单行更新与事务,优先面向读多写少的分析业务,常搭配 Kafka 做实时数仓。可单机、容器或集群部署,资源开销可控,广泛用于大数据实时看板、指标统计、用户行为分析。

2. 安装

本文安装的是clickhouse 26.9.19.9

2.1.拉取镜像

bash 复制代码
# 拉取镜像
podman pull clickhouse/clickhouse-server

2.2.创建容器

bash 复制代码
# 创建本地存放 clickhouse 数据、日志、配置目录
# 创建宿主机目录,将容器内的东西映射出来

mkdir -p /home/wengad/data/clickhouse/{data,logs,config.d,users.d}

# 创建容器
podman run -d \
  --name clickhouse \
  -p 8123:8123 \
  -p 9020:9000 \
  --ulimit nofile=262144:262144 \
  --cap-add=SYS_NICE \
  --cap-add=IPC_LOCK \
  -e CLICKHOUSE_PASSWORD="Click_HK999a" \
  -e CLICKHOUSE_USER=default \
  -v /home/wengad/data/clickhouse/data:/var/lib/clickhouse:Z \
  -v /home/wengad/data/clickhouse/logs:/var/log/clickhouse-server:Z \
  -v /home/wengad/data/clickhouse/config.d:/etc/clickhouse-server/config.d:Z \
  -v /home/wengad/data/clickhouse/users.d:/etc/clickhouse-server/users.d:Z \
  clickhouse/clickhouse-server

2.3.修改监听

在宿主机配置目录 /home/wengad/data/clickhouse/config.d/listen.xml
0.0.0.0

bash 复制代码
# 重启容器
podman restart clickhouse
bash 复制代码
# 测试下
curl http://127.0.0.1:8123 -u default:Click_HK999a

不修改,有可能通过dbeaver会报如下错误:

bash 复制代码
SQL 错误 [HY000]: Query request failed (attempt: 1, duration: 185ms, queryId: a30ce82a-b191-45ed-80bf-de09f9bbb31e)
Query request failed (attempt: 1, duration: 185ms, queryId: a30ce82a-b191-45ed-80bf-de09f9bbb31e)
Connection reset

2.4.DBeaver连接

报错:Invalid LZ4 magic byte: '-112'

SQL 错误 HY000: Invalid LZ4 magic byte: '-112'

Invalid LZ4 magic byte: '-112'

解决:关闭驱动侧 LZ4 压缩

2.5.WEB端连接

3.实践(表命名)

3.1.语法硬性规则

  1. 无引号表名正则:^[a-zA-Z_][a-zA-Z0-9_]*$,只能字母、下划线开头,后面字母 / 数字 / 下划线;不能数字开头、不能空格、中文、点、横杠、特殊符号ClickHouse
  2. 大小写敏感 :user_log 和 User_Log 是两张不同表
  3. 禁止直接使用 SQL 关键字;非要用关键字做表名,必须用 \`` 或 "` 包裹
  4. 带引号可以支持特殊字符,但不推荐,容易在 BI、JDBC 同步踩坑

3.2.工程推荐命名规范

  1. 全部小写 + 下划线分隔(蛇形),规避 DBeaver、BI 工具自动大小写转换问题
  2. 语义前缀区分类型:
    • ods_:原始层、dwd_明细层、dws_汇总层
    • local_本地表、dist_分布式表、tmp_临时表
  3. 带上业务域:ods_app_click_log、dws_order_day_stats
  4. 禁止连续下划线,名字简洁,一般不超过 64 字符
  5. 不要用 system、numbers 这类内置系统表名

3.3.不推荐写法

UserLog(驼峰,大小写坑)、app-click(短横线)、app.click(点号)、1_user_log(数字开头)、中文表名

示例标准表名:ods_web_access_log、dws_user_pv_uv_di

相关推荐
l1t3 天前
duckdb、clickhouse、datafusion、cedardb、tableauhyperapi 5种分析型数据库执行递归求数独SQL比较
数据库·sql·clickhouse
l1t3 天前
一个clickhouse易错的语法问题
数据库·sql·clickhouse
流烟默4 天前
ClickHouse 集群建表实战:从引擎选择到本地表 / 分布式表落地
分布式·clickhouse
深蓝电商API5 天前
亿级数据的存储选型:MongoDB/ES/ClickHouse横评
爬虫·clickhouse·mongodb·elasticsearch
流烟默7 天前
ClickHouse Part 机制与写入优化实践指南
大数据·运维·clickhouse
Sayai13 天前
ClickHouse WITH FILL 实战:监控大屏时间序列补零,附多粒度指标表与物化视图级联设计
大数据·运维·数据仓库·clickhouse·物化视图
l1t17 天前
DeepSeek总结的clickhouse的二进制文件自解压机制
clickhouse
l1t18 天前
DeepSeek总结的pg_clickhouse 与 chdb 更新:编码、嵌套与类型
数据库·clickhouse·postgresql
拔剑纵狂歌21 天前
ClickHouse system.query_log 字段详解与排障实践
后端·clickhouse·1024程序员节