Clickhouse特点

完备的DBMS:不仅是个数据库,也是个数据库系统

列存储和数据压缩:典型的olap数据库特性

向量化并行:利用CPU的SIMD(Single INstruction MUltiple Data),单条指令操作多条数据

多线程并行:向量化并行利用硬件采取数据并行(缺陷:不适应较多分支的判断),多线程级并行提高并发

关系模型:有数据库、表、视图和函数。更好清晰的描述实体间的关系

SQL:极高的群众基础

多样化表引擎:合并树、内存、文件、接口等20多种表引擎

多主架构:天然避免单点故障,服务端对客户端都是“孪生兄弟”

分布式:分区、分片

一. 部署

  1. 创建目录
cd /data/clickhouse
mkdir {config,data,log}
  1. 拷贝默认配置文件
docker run -itd --name tmp --ulimit nofile=262144:262144  yandex/clickhouse-server:21.3.14.1-alpine
docker cp tmp:/etc/clickhouse-server/users.xml /data/clickhouse/config/users.xml
docker cp tmp:/etc/clickhouse-server/config.xml /data/clickhouse/config/config.xml
  1. 生成密码
# 这一步如果你不需要密码就跳过,需要操作一下
echo -n 123456 | openssl dgst -sha256
(stdin)= 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
  1. 修改users.xml配置

    同理,不需要配置密码的就省略这一步吧。

  2. 运行容器

docker run -itd --name my-clickhouse --ulimit nofile=262144:262144 -p 28123:8123 -p 29000:9000 -p 29009:9009 -v /data/clickhouse/data:/var/lib/clickhouse:rw -v /data/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml -v /data/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml -v /data/clickhouse/log:/var/log/clickhouse-server:rw yandex/clickhouse-server:21.3.14.1-alpine
  1. 测试
# 进入容器
docker exec -it my-clickhouse /bin/bash
# 连接clickhouse
clickhouse-client --password "123456"
# 查看库
show databases; ## 或者在其他其他上通过http接口测试是否能连通
echo 'show databases' | curl 'http://127.0.0.1:28123/?user=default&password=123456' -d @- ## 如果本地可以通,其他主机连不通的话则看一下防火墙是否打开端口了

二. ClickHouse 冷数据恢复的迁移方式

直接拷贝走clickhouse 的数据到另一台机器上,修改下相关配置就可以直接启动了,仔细的观察一下 ClickHouse 在文件系统上的目录结构(配置文件

/ect/clickhouse-server/config.xml 里面配置的 ),为了便于查看,只保留了 data 和 metadata 目录。







基于这个信息,直接把data和metadata目录(要排除 system 库)复制到新集群,即可实现数据迁移

Docker部署clickhouse的更多相关文章

  1. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  2. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  3. 程序开发使用docker部署

    我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...

  4. 我使用celery以及docker部署遇到的问题

    首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...

  5. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  6. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  7. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

  8. NET Core Docker部署

    NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行 ...

  9. 我使用 Docker 部署 Celery 遇到的问题

    问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...

  10. Docker部署Elasticsearch集群

    http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...

随机推荐

  1. RabbitMQ集成系统文章01---ABP VNext 分布式事务Event Bus 集成RabbitMQ

    1.在两个应用中都配置好要连接的RabbitMQ "RabbitMQ": { "Connections": { "Default": { & ...

  2. C/C++ 实现URL路径拆分

    URL路径拆分: 例如我们传入 http://www.baidu.com/index.php 拆分为 www.baidu.com 和 /index.php #include <Windows.h ...

  3. C++ STL 标准模板库(排序/集合/适配器)算法

    C++ 标准模板库STL,是一个使用模板技术实现的通用程序库,该库由容器container,算法algorithm,迭代器iterator,容器和算法之间通过迭代器进行无缝连接,其中所包含的数据结构都 ...

  4. Redis安装,数据类型及常用命令

    安装 - 可以使用yum 安装,要先配置epel源 ``` yum install -y redis ``` - 可以编译安装 ``` wget http://download.redis.io/re ...

  5. 自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人

    如今,大模型层出不穷,这为自然语言处理.计算机视觉.语音识别和其他领域的人工智能任务带来了重大的突破和进展.大模型通常指那些参数量庞大.层数深.拥有巨大的计算能力和数据训练集的模型. 但不能不承认的是 ...

  6. MySQL主主+Keepalived架构安装部署

    需求:根据当前客户的生产环境,模拟安装部署一套MySQL主主+Keepalived架构的测试环境,方便后续自己做一些功能性的测试. 1.准备工作 2.MySQL安装部署 3.MySQL主主配置 4.K ...

  7. 使用 BrowserView 的注意事项!!

    请看gif:

  8. 一文看懂"async"和“await”关键词是如何简化了C#中多线程的开发过程

    一文看懂"async"和"await"关键词是如何简化了C#中多线程的开发过程 当我们使用需要长时间运行的方法(即,用于读取大文件或从网络下载大量资源)时,在同 ...

  9. Java集合篇之深入解析ArrayList,这六问你答的上来吗?

    写在开头 开年第一篇,先祝各位新的一年身体健康,学业有成,事业有成哈,春节期间就是咔咔乱吃,咔咔乱玩,把学习都抛一边子去了,已经9天没有学习了,深深的懊悔,从今天开始,2024年的学习正式开启,一起给 ...

  10. 从零开始的react入门教程(五),了解react中的表单,何为受控组件与非受控组件

    壹 ❀ 引 我们在从零开始的react入门教程(四),了解常用的条件渲染.列表渲染与独一无二的key一文中介绍了react中常用的条件渲染操作,比如三元运算符,逻辑运算符等,结合react组件或者re ...