zoukankan      html  css  js  c++  java
  • Docker快速部署clickhouse

    Docker快速部署clickhouse

    Clickhouse特点

    • 完备的DBMS:不仅是个数据库,也是个数据库系统
    • 列存储和数据压缩:典型的olap数据库特性
    • 向量化并行:利用CPU的SIMD(Single INstruction MUltiple Data),单条指令操作多条数据
    • 多线程并行:向量化并行利用硬件采取数据并行(缺陷:不适应较多分支的判断),多线程级并行提高并发
    • 关系模型:有数据库、表、视图和函数。更好清晰的描述实体间的关系
    • SQL:极高的群众基础
    • 多样化表引擎:合并树、内存、文件、接口等20多种表引擎
    • 多主架构:天然避免单点故障,服务端对客户端都是“孪生兄弟”
    • 分布式:分区、分片

    Docker快速部署

    1. 创建目录

      cd /var/data/test_clickhouse-server
      mkdir {conf,database,log}
      
    2. 拷贝默认配置文件

      # 因我们无默认配置文件,那么就先运行一个临时容器,然后再将容器内的临时文件拷贝出来,如果你本身就有配置文件可以省略直接上传到conf目录下即可
      docker run --rm --name tmp --ulimit nofile=262144:262144  yandex/clickhouse-server
      docker cp tmp:/etc/clickhouse-server/users.xml /var/data/clickhouse/conf/users.xml
      docker cp tmp:/etc/clickhouse-server/config.xml /var/data/clickhouse/conf/config.xml
      
    3. 生成密码

      # 这一步如果你不需要密码就跳过,需要操作一下
      # 我们生成一个double_shal 加密密码,密码是 123
      echo "123"; echo -n "123" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
      ## 明文
      123
      ## 密文
      23ae809ddacaf96af0fd78ed04b6a265e05aa257
      
    4. 修改users.xml配置

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

      看图
      image-20210908165843324

    5. 运行容器

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

    注意:ClickHouse默认的用户是default,密码则是你设置的密码

  • 相关阅读:
    需求层次性、需求分类
    CSMA/CA协议详解
    Git笔记:GitFlow工作流模拟、分支管理、使用规范
    Vue.js笔记(四) 路由router与重定向
    DolphinScheduler 源码分析之 DAG类
    linux 一分钟安装maven linux
    linux 一分钟搭建zookeeper linux 单机版(亲测可用)
    canal-adapter1.1.14最新版本安装的过程中出现的NullPointerException异常
    yum.repos.d中的变量($releasever与$basearch)
    索引知识
  • 原文地址:https://www.cnblogs.com/98record/p/docker-kuai-su-bu-shuclickhouse.html
Copyright © 2011-2022 走看看