高可用分布式clickhouse集群搭建

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

介绍clickhouse单机和高可用分布式搭建

    docker单机搭建方法

#使用yandex的服务端镜像
docker pull yandex/clickhouse-server
#使用yandex的客户端镜像
docker pull yandex/clickhouse-client

yandex/clickhosue-server的Dockerfile如下,可参考进行自定义镜像搭建

FROM ubuntu:16.04

ARG repository="deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
ARG version=\*

RUN apt-get update && \
    apt-get install -y apt-transport-https && \
    mkdir -p /etc/apt/sources.list.d && \
    echo $repository | tee /etc/apt/sources.list.d/clickhouse.list && \
    apt-get update && \
    apt-get install --allow-unauthenticated -y clickhouse-server-common=$version clickhouse-server-base=$version && \
    rm -rf /var/lib/apt/lists/* /var/cache/debconf && \
    apt-get clean

COPY docker_related_config.xml /etc/clickhouse-server/config.d/
RUN chown -R clickhouse /etc/clickhouse-server/

USER clickhouse
EXPOSE 9000 8123 9009
VOLUME /var/lib/clickhouse

ENV CLICKHOUSE_CONFIG /etc/clickhouse-server/config.xml

ENTRYPOINT exec /usr/bin/clickhouse-server --config=${CLICKHOUSE_CONFIG}

运行clickhosue服务镜像 yandex/clickhouse-server

$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 yandex/clickhouse-server

运行clickhouse客户端镜像 yandex/clickhouse-client

$ docker run -it --rm --link some-clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server

这里推荐一个可视化的连接工具DBeaver https://dbeaver.jkiss.org/download/

可以直接连接到clickhosue  用户名默认为 default

    高可用集群搭建

        我这里准备三台机器 系统都是ubuntu server 16.04

            192.168.43.225 yun0

            192.168.43.226 yun1

            192.168.43.227 yun2

    在机器上安装clickhouse数据库(如果你是虚拟机的话,可以先装一台 ,再复制俩台)

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4    # optional
sudo apt-add-repository "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/"
sudo apt-get update
sudo apt-get install clickhouse-server-common clickhouse-client -y

如果提示没有app-add-repository,你需要安装下面俩个

apt-get install python-software-properties
apt-get install software-properties-common

装完后进行clickhouse集群的配置

配置/etc/clickhouse-server/config.xml

在60行到70行之间,有一个监听主机(配置远程连接)

一般把下面这三行注释去掉就行了

::                                            
::1                                           
127.0.0.1

同时在这个xml文件里面可以看到这样一段注释

metrika.xml就是分布式配置文件

在etc目录下新建metrika.xml文件

可直接在下面的实例中修改



    
        
             true
            
                yun0
                9000
            
        
        
            
                true
                yun1
                9000
            
        
        
            true
            
                yun2
                9000
            
        
    




  
    yun0
    2181
  

  
    yun1
    2181
  
  
    yun2
    2181
  



    yun0




   ::/0





  10000000000
                                             
  0.01                                                                                                                                       
  lz4




            

这个配置主要修改三个地方 

1.配置节点


    
        
             true
            
                yun0
                9000
            
        
        
            
                true
                yun1
                9000
            
        
        
            true
            
                yun2
                9000
            
        
    

2.配置zookeeper 


  
    yun0
    2181
  

  
    yun1
    2181
  
  
    yun2
    2181
  

3.前面俩个都没啥好说的,下面这个注意每个节点填当前节点的ip


    yun0

后面就是安装jdk,zookeeper.这俩个就不介绍了。

装完后重启  启动zookerper,clickhouse-server服务。

转载于:https://my.oschina.net/u/3264690/blog/1788766

你可能感兴趣的:(高可用分布式clickhouse集群搭建)