2019独角兽企业重金招聘Python工程师标准>>>
介绍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服务。