研究一天总结的 Docker Compose V2 安装 ClickHouse v20.6.8.5 经验分享

2023年 10月 6日 29.5k 0

前言

ClickHouse 是一款开源的分布式列式数据库管理系统,专门设计用于高性能的大数据分析和查询。
目前项目中用到的一个场景是将mongo的数据同步到clickhouse,使用clickhouse做报表,后续也将分享同步和使用方案

  • 使用 Docker Compose 部署单机版,小项目和自己测试够用了,生产使用集群,基于此方案后续有需要我再尝试整理
  • 作者:易墨
  • 发布时间:2023.10.05

安装

  • 安装目录:/app/clickhouse
  • 镜像:yandex/clickhouse-server:20.6.8.5
  • 版本: v20.6.8.5
  • 配置文件文档:配置文件
  • 端口说明:Network ports ,单机部署可以就暴露 8123(连接),9363(prometheus );ps:如果使用 Archery v1.10 连接需要使用 9000 端口

获取默认配置文件

默认配置文件: config.xml, users.xml

  • 从容器内拷贝配置文件到容器外部主机
    (创建 work 目录,进入运行的 clickhouse 容器后会将默认的配置文件(config.xml, users.xml)复制到 work 目录)

    • 创建容器获取容器内的默认配置文件
      mkdir ./work
      docker run -it --rm --entrypoint=/bin/bash -v ./work:/work --privileged=true --user=root yandex/clickhouse-server:20.6.8.5
      进入容器后复制配置到work文件夹
      cp -r /etc/clickhouse-server/* /work
      exit
      
  • ./work/config.xml
    • 
      
      
          
              
              trace
              /var/log/clickhouse-server/clickhouse-server.log
              /var/log/clickhouse-server/clickhouse-server.err.log
              1000M
              10
               
      
              
              
      
              
              
          
      
          
              
              
              
              false
              
              false
              
              
              https://6f33034cfe684dd7a3ab9875e57b1c8d@o388870.ingest.sentry.io/5226277
          
      
           
          8123
          9000
          9004
          
          
          
          
               
                  
                  /etc/clickhouse-server/server.crt
                  /etc/clickhouse-server/server.key
                  
                  /etc/clickhouse-server/dhparam.pem
                  none
                  true
                  true
                  sslv2,sslv3
                  true
              
      
               
                  true
                  true
                  sslv2,sslv3
                  true
                  
                  
                      
                      RejectCertificateHandler
                  
              
          
      
          
          
      
          
          9009
      
          
          
      
          
          
          
          
      
          
          
          
          
      
          
          
      
          
      
          4096
          3
      
          
          100
      
          
          0
      
          
      
           10000
      
          
          0.9
      
          
          4194304
      
          
          0
      
          
          
      
          
          8589934592
      
          
          5368709120
      
          
          /var/lib/clickhouse/
      
          
          /var/lib/clickhouse/tmp/
      
          
          
      
          
          /var/lib/clickhouse/user_files/
      
          
          /var/lib/clickhouse/access/
      
          
          users.xml
      
          
          default
      
          
          
      
          
          default
      
          
          
      
          
          
      
          
          true
      
          
          
              
              
                  
                      
                      
                      
                      
                      
                          localhost
                          9000
                          
                          
                      
                  
              
              
                   
                       
                           localhost
                           9000
                       
                   
                   
                       
                           localhost
                           9000
                       
                   
              
              
                  
                      
                          127.0.0.1
                          9000
                      
                  
                  
                      
                          127.0.0.2
                          9000
                      
                  
              
              
                  
                      
                          localhost
                          9440
                          1
                      
                  
              
              
                  
                      
                          localhost
                          9000
                      
                  
                  
                      
                          localhost
                          1
                      
                  
              
          
      
          
          
              
      
              
          
      
          
      
          
      
          
      
          
          
      
          
          3600
      
          
          3600
      
          
          60
      
          
          
          
      
          
          
          
      
          
          
              
              system
              query_log
              
              toYYYYMM(event_date)
      
              
      
              
              7500
          
      
          
          
              system
              trace_log
      
              toYYYYMM(event_date)
              7500
          
      
          
          
              system
              query_thread_log
              toYYYYMM(event_date)
              7500
          
      
          
      
          
      
          
          
              system
              metric_log
              7500
              1000
          
      
          
          
              system
              asynchronous_metric_log
              
              60000
          
      
          
      
          
          
      
          
          
      
          
          *_dictionary.xml
      
          
          
          
          
      
          
          
              
              /clickhouse/task_queue/ddl
      
              
              
          
      
          
          
      
          
          
          
      
          
          
              
                  click_cost
                  any
                  
                      0
                      3600
                  
                  
                      86400
                      60
                  
              
              
                  max
                  
                      0
                      60
                  
                  
                      3600
                      300
                  
                  
                      86400
                      3600
                  
              
          
      
          
          /var/lib/clickhouse/format_schemas/
      
          
      
          
      
          
          
      
      
  • ./work/users.xml
    • 
      
          
          
              
              
                  
                  10000000000
      
                  
                  0
      
                  
                  random
              
      
              
              
                  1
              
          
      
          
          
              
              
                  
                  
      
                  
                  
                      ::/0
                  
      
                  
                  default
      
                  
                  default
      
                  
                  
              
          
      
          
          
              
              
                  
                  
                      
                      3600
      
                      
                      0
                      0
                      0
                      0
                      0
                  
              
          
      
      
  • 添加自定义配置

    自定义配置文件文档,自定义放到 config.d/.xml,用户配置放到 users.d/.xml

  • 添加集群配置文件:metrika.xml (单机版)

    • 
       
          
          
          
       
          
          
          
       
          
              0.0.0.0/0
          
       
          
          
              
                  10000000000
                  0.01
                  lz4
              
          
       
      
      
  • 添加自定义的配置文件:config.d/docker_related_config.xml(日志配置,端口配置,prometheus 配置,集群设置(移除))

    • 
          
          
              error
              /var/log/clickhouse-server/clickhouse-server.log
              /var/log/clickhouse-server/clickhouse-server.err.log
              1000M
              10
          
          
          8123
          
          9000
          
          9004
          0.0.0.0
          
          
          
          
              /metrics
              9363
              true
              true
              true
              true
          
          
          users.xml
          
          /etc/clickhouse-server/metrika.xml
          
      
      
  • 添加自定义配置 users.d/docker_related_config.xml 配置,账号 default 密码 devops666 ,启用权限控制

    • 
          
              
                  devops666
                  
                      ::/0
                  
                  default
                  default
                  1
              
          
      
      
  • docker-compose 配置文件

    • 指定时区:Asia/Shanghai

    • 指定端口:8123,9363

    • 挂载目录:./data ./logs ./config

    • 运行 compose.yml 构建: docker compose up -d

      • version: '3'
        services:
          clickhouse-server:
            container_name: db_clickhouse_20_6
            image: yandex/clickhouse-server:20.6.8.5
            restart: always
            ulimits:
              nofile:
                soft: 262144
                hard: 262144
            environment:
              - TZ=Asia/Shanghai
              - ports=8123,9363
            ports:
              - 8123:8123
              - 9363:9363
            volumes:
              - ./data:/var/lib/clickhouse
              - ./logs:/var/log/clickhouse-server
              - ./config:/etc/clickhouse-server
        
      • 运行示例

    最后连接部分参考前篇 DBeaver Ultimate 22.1.0 连接数据库(MySQL+Mongo+Clickhouse)

    后语

    很极限的一天,前几天就开始研究整理,今天回来灵感爆发完成构建,配置这一块一直有点迷糊,还是需要多看看文档才行

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论