clickhouse集群容器化部署

准备工作

clickhouse节点分布

  • 10.100.1.245
  • 10.100.1.246
  • 10.100.1.247
  • 10.100.1.248
  • 10.100.1.249
  • 10.100.1.250

zookeeper节点分布

  • 10.100.2.245
  • 10.100.2.246
  • 10.100.2.69
  • 10.100.2.70
  • 10.100.2.71

拉取官方的clickhouse server及client docker镜像

docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client

环境部署

部署zookeeper集群

新增zookeeper_clickhouse的编排配置,直接使用docker快速部署5个节点的zookeeper集群,编排配置如下:

# clickhouse的zookeeper
 zookeeper_clickhouse:
  image: zookeeper-centos:v1.0.1
  container_name: zookeeper_clickhouse
  volumes:
   - /data/zk_clickhouse:/tmp/zookeeper
   - /data/logs/zookeeper_clickhouse:/tmp/logs/zookeeper
  network_mode: host
  restart: always
  ipc: host
  mem_limit: 8192m
  cpu_shares: 512
  environment:
   - "MYID=4"
   - "PORT=9181"
   - "SERVERS=10.100.2.69:14888:15888,10.100.2.70:14888:15888,10.100.2.71:14888:15888,10.100.2.245:14888:15888,10.100.2.246:14888:15888"

部署clickhouse集群

直接使用clickhouse官方docker镜像启动clickhouse server,将相关数据,配置和日志目录映射的宿主机,集群话部署需要提供metrika.xml文件,里面配置了zookeeper信息,数据分片等配置

clickhouse server编排配置

# clickhouse server
 clickhouse-server:
  image: yandex/clickhouse-server
  container_name: clickhouse-server
  volumes:
   - /data/clickhouse_data:/var/lib/clickhouse
   - /data/logs/clickhouse:/var/log
   - /data/clickhouse_data/metrika.xml:/etc/metrika.xml
   - /data/clickhouse_data/config.xml:/etc/clickhouse-server/config.xml
   - /tmp:/tmp
   - /etc/localtime:/etc/localtime
  network_mode: host
  restart: always
  ipc: host
  mem_limit: 51200m
  cpu_shares: 512
  ulimits: 262144

每个clcikhouse server节点提前创建 /data/clickhouse_data /dta/logs/clickhouse 目录,并上传编辑好的config.xml metrika.xml到/data/clickhouse_data目录

config.xml:



    
        
        information
        /var/log/clickhouse-server/clickhouse-server.log
        /var/log/clickhouse-server/clickhouse-server.err.log
        1000M
        10
        0
    

    
        
        
        
        false
        
        false
        
        
        https://[email protected]/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

    
    

    
    
        

        
    

    

    

    

    
    


    
    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
system crash_log
1000
*_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/
metrika.xml

  
    
      
        true
        
          10.100.1.245
          9000
        
        
          10.100.1.246
          9000
        
      
      
        true
        
          10.100.1.247
          9000
        
        
          10.100.1.248
          9000
        
      
      
        true
        
          10.100.1.249
          9000
        
        
          10.100.1.250
          9000
        
      
    
  

  
  
    
      10.100.2.69
      9181
    
    
      10.100.2.70
      9181
    
    
      10.100.2.71
      9181
    
    
      10.100.2.245
      9181
    
    
      10.100.2.246
      9181
    
  

  
    10.100.1.245
    01
  

  
    ::/0
  

  
    
      10000000000
      0.01
      lz4
    
  

每个节点都根据编排信息启动clickhouse-server后,使用clickhouse-clicent镜像启动client容器,连接上server的一个节点,进行验证

docker run -idt --net=host --name=clickhouse-client --entrypoint=bash yandex/clickhouse-client
docker exec -it clickhouse-client /usr/bin/clickhouse-client --host=10.100.1.245 --port=9000

你可能感兴趣的:(clickhouse集群容器化部署)