Docker安装Clickhouse详细教程

简介

ClickHouse是一种列式数据库管理系统,专门用于高性能数据分析和数据仓库应用。它是一个开源的数据库系统,最初由俄罗斯搜索引擎公司Yandex开发,用于满足大规模数据分析和报告的需求。

特点

  • 开源的列式存储数据库管理系统,支持线性扩展,简单方便,高可靠性
  • 容错跑分快:可处理的数据级别达到10亿级别
  • 功能多:支持数据统计分析各种场景,支持类SQL查询,异地复制部署

优点

  • 真正的面向列的DBMS,不是一个单一的数据库,它允许在运行时创建表和数据库、加载数据和运行查询,而无需重新配置和重新启动服务器
  • 使用数据压缩,提高了性能
  • 磁盘存储数据
  • 多核并行处理:多核多节点并行化大型查询
  • 在多个服务器上分布式处理:数据可以驻留在不同的分片上,每个分片都可以用于容错的一组副本,查询会在所有分片上进行处理
  • SQL支持:基本语法跟SQL语法兼容
  • 向量化引擎:数据不仅按列式存储,而且由矢量-列的部分进行处理,这使得开发者能够实现高CPU性能
  • 实时数据更新:为了快速执行对主键范围的查询,数据使用合并数(MergeTree)进行递增排序
  • 支持近似计算
  • 数据复制和对数据完整性的支持:使用异步多主复制,写入任何可用的副本后,数据将分发到所有剩余的副本。系统在不同的副本上保持相同的数据,数据在失败后自动恢复

缺点

  • 没有完整的事务支持,不支持Transaction
  • 缺少完整Update/Delete操作,缺少高频率、低延迟的修改或删除已存在数据的能力,仅用于批量删除或修改数据
  • 聚合结果必须小于一台机器的内存大小
  • 支持有限操作系统
  • 不适合Key-value存储,不支持Blob等文档型数据库

安装

1.创建目录

复制代码
#创建目录
mkdir -p /opt/clickhouse/conf /opt/clickhouse/data /opt/clickhouse/log

2.启动临时容器

复制代码
docker run --rm -d --name temp-clickhouse clickhouse/clickhouse-server

3.拷贝配置文件到主机

复制代码
docker cp temp-clickhouse:/etc/clickhouse-server/users.xml /opt/clickhouse/conf/users.xml
docker cp temp-clickhouse:/etc/clickhouse-server/config.xml /opt/clickhouse/conf/config.xml

4.编辑主机配置文件

复制代码
vim config.xml

增加如下内容

复制代码
   <listen_host>::1</listen_host>
   <listen_host>127.0.0.1</listen_host>

然后继续编辑

复制代码
vim users.xml 

增加密码配置(原来是空)

复制代码
<password>123456</password>

5.重启创建并启动容器

复制代码
docker run -d --name=clickhouse-server -p 8123:8123 -p 19000:9000 -v /opt/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml -v /opt/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml -v /opt/clickhouse/data:/var/lib/clickhouse clickhouse/clickhouse-server

体验

直接使用dbeaver链接即可

默认账户名是:default

示例:

相关推荐
Fireworkitte5 小时前
ClickHouse详解
clickhouse
知其_所以然1 天前
使用docker安装clickhouse集群
clickhouse·docker·容器
wuli玉shell2 天前
Doris和Clickhouse对比
clickhouse·doris
SelectDB技术团队5 天前
可观测性方案怎么选?SelectDB vs Elasticsearch vs ClickHouse
大数据·数据仓库·clickhouse·elasticsearch·信息可视化·doris·半结构化
goTsHgo5 天前
ClickHouse多表join的性能优化:原理与源码详解
clickhouse·性能优化
妖果yaoyao7 天前
docker 部署clickhouse
clickhouse·docker·容器
鱼鱼不愚与8 天前
处理 Clickhouse 内存溢出
数据库·分布式·clickhouse
Wonderful_一直有你8 天前
clickhouse - 重新建表覆盖旧表-解决分区时间错误问题-197001
clickhouse
千月落10 天前
ClickHouse副本集群
服务器·数据库·clickhouse
Steven-Russell10 天前
Clickhouse基于breakpad生成minidump文件,方便问题定位
clickhouse·breakpad