高可用分布式clickhouse集群搭建 - 南寻的个人空间 - OSCHINA - 中文开源技术交流社区


本站和网页 https://my.oschina.net/u/3264690/blog/1788766/ 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

高可用分布式clickhouse集群搭建 - 南寻的个人空间 - OSCHINA - 中文开源技术交流社区
首页
资讯
摸鱼
专区
问答
GOTC2023
活动
开源活动
开源创新大赛
软件库
2022年度评选
Tool
博客
Gitee
首页
资讯
摸鱼
专区
问答
GOTC2023
活动
开源活动
开源创新大赛
软件库
2022年度评选
Tool
博客
Gitee
OSCHINA 小程序 —— 关注技术领域的头条文章
聚合全网技术文章,根据你的阅读喜好进行个性推荐
登录
注册
开源博客
写博客
南寻的个人空间
hadoop生态圈
正文
高可用分布式clickhouse集群搭建
原创
南寻
hadoop生态圈
2018/04/02 17:32
阅读数 4.7W
本文被收录于专区
AI & 大数据
进入专区参与更多专题讨论
介绍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行之间,有一个监听主机(配置远程连接)
一般把下面这三行注释去掉就行了
<listen_host>::</listen_host>
<listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>
同时在这个xml文件里面可以看到这样一段注释
<!-- If element has 'incl' attribute, then for it's value will be used corresponding substi
tution from another file.
155 By default, path to file with substitutions is /etc/metrika.xml. It could be changed i
n config in 'include_from' element.
156 Values for substitutions are specified in /yandex/name_of_substitution elements in tha
t file.
157 -->
metrika.xml就是分布式配置文件
在etc目录下新建metrika.xml文件
可直接在下面的实例中修改
<yandex>
<clickhouse_remote_servers>
<perftest_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>yun0</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>yun1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>yun2</host>
<port>9000</port>
</replica>
</shard>
</perftest_3shards_1replicas>
</clickhouse_remote_servers>
<zookeeper-servers>
<node index="1">
<host>yun0</host>
<port>2181</port>
</node>
<node index="2">
<host>yun1</host>
<port>2181</port>
</node>
<node index="3">
<host>yun2</host>
<port>2181</port>
</node>
</zookeeper-servers>
<macros>
<replica>yun0</replica>
</macros>
<networks>
<ip>::/0</ip>
</networks>
<clickhouse_compression>
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>lz4</method>
</case>
</clickhouse_compression>
</yandex>
这个配置主要修改三个地方
1.配置节点
<clickhouse_remote_servers>
<perftest_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>yun0</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>yun1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>yun2</host>
<port>9000</port>
</replica>
</shard>
</perftest_3shards_1replicas>
</clickhouse_remote_servers>
2.配置zookeeper
<zookeeper-servers>
<node index="1">
<host>yun0</host>
<port>2181</port>
</node>
<node index="2">
<host>yun1</host>
<port>2181</port>
</node>
<node index="3">
<host>yun2</host>
<port>2181</port>
</node>
</zookeeper-servers>
3.前面俩个都没啥好说的,下面这个注意每个节点填当前节点的ip
<macros>
<replica>yun0</replica>
</macros>
后面就是安装jdk,zookeeper.这俩个就不介绍了。
装完后重启 启动zookerper,clickhouse-server服务。
展开阅读全文
clickhouseNoSQL
著作权归作者所有
举报
加载中
点击引领话题📣
取消
发布
0" class="recommend-box">
作者的其它热门文章
{{formatHtml(o.title)}}
打赏
1 赞
6 收藏
微信
QQ
微博
分享
关于作者
南寻
程序员
关注
私信
提问
文章
90
经验值
165
粉丝
64
关注
18
作者的专辑
全部
图像处理(2)
个人感悟(1)
linux运维(14)
Java基础(1)
源创计划
立即入驻
自媒体入驻开源社区,
获百万流量,打造个人技术品牌
推荐关注
换一批
Authing
文章 54
访问 8.3W
java_speed
文章 44
访问 10.1W
CDF中文本地化SIG
文章 470
访问 20.4W
GuoMengyue
文章 24
访问 13.1W
纯洁的微笑
文章 57
访问 22.6W
打赏
0 评论
6 收藏
1 赞
微信
QQ
微博
分享
选择专区和圈子:{{title}}
{{o.name}}
{{m.name}}
取消
确定
OSCHINA 社区
关于我们
联系我们
加入我们
合作伙伴
Open API
在线工具
Gitee.com
企业研发管理
CopyCat-代码克隆检测
实用在线工具
国家反诈中心APP下载
攻略
项目运营
Awesome 软件(持续更新中)
QQ群
530688128
公众号
视频号
OSCHINA 小程序
聚合全网技术文章,根据你的阅读喜好进行个性推荐
OSC小程序
©OSCHINA(OSChina.NET)
工信部
开源软件推进联盟
指定官方社区
社区规范
深圳市奥思网络科技有限公司版权所有
粤ICP备12009483号
顶部