IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker部署Clickhouse集群遇到的坑--第一部 -> 正文阅读

[系统运维]docker部署Clickhouse集群遇到的坑--第一部

项目场景:

在使用docker部署Clickhouse集群时,遇到的各种坑

问题一

``执行select * from system.clusters;查看集群信息,没有显示出集群信息,说明分布式集群搭建失败,如以下图1

┌─cluster───────────────────────────┬─shard_num─┬─replica_num─┬─host_name─┬─port─┬─user────┐
 default1 │ test_cluster_two_shards           │         11127.0.0.19000default2 │ test_cluster_two_shards           │         21127.0.0.29000default3 │ test_cluster_two_shards_localhost │         11 │ localhost │ 9000default4 │ test_cluster_two_shards_localhost │         21 │ localhost │ 9000default5 │ test_shard_localhost              │         11 │ localhost │ 9000default6 │ test_shard_localhost_secure       │         11 │ localhost │ 9440default7 │ test_unavailable_shard            │         11 │ localhost │ 9000default8 │ test_unavailable_shard            │         21 │ localhost │    1default9 └───────────────────────────────────┴───────────┴─────────────┴───────────┴──────┴───────

原因分析:

看了下资料中显示的集群信息是要有集群名,集群节点ip等信息的,而不是以上只显示出单机信息:

例如:以下图2为正确的,其中perf_3s_1r是集群的名字,在/etc/metrika.xml里面设置`┌─cluster───────────────────────────┬─shard_num─┬─replica_num─┬─host_name─┬─port─┬─user────┐
1 │ perf_3s_1r │ 1 │ 1 │ master │ 9000 │ default │
2 │ perf_3s_1r │ 2 │ 1 │ slaver1 │ 9000 │ default │
3 │ perf_3s_1r │ 3 │ 1 │ slaver2 │ 9000 │ default │
4 │ test_cluster_two_shards │ 1 │ 1 │ 127.0.0.1 │ 9000 │ default │
5 │ test_cluster_two_shards │ 2 │ 1 │ 127.0.0.2 │ 9000 │ default │
6 │ test_cluster_two_shards_localhost │ 1 │ 1 │ localhost │ 9000 │ default │
7 │ test_cluster_two_shards_localhost │ 2 │ 1 │ localhost │ 9000 │ default │
8 │ test_shard_localhost │ 1 │ 1 │ localhost │ 9000 │ default │
9 │ test_shard_localhost_secure │ 1 │ 1 │ localhost │ 9440 │ default │
10 │ test_unavailable_shard │ 1 │ 1 │ localhost │ 9000 │ default │
11 │ test_unavailable_shard │ 2 │ 1 │ localhost │ 1 │ default │
└───────────────────────────────────┴───────────┴─────────────┴–仔细分析,现在的现象就是集群配置没有生效。clickhouse应该是通过config.xml文件加载集群配置,看了这篇文章后,幡然醒悟:https://www.cnblogs.com/fkdby/articles/15242373.html 链接可能已经失效,暂时只贴出config.xml的关键信息:

<include_from>/etc/metrika-node1.xml</include_from>
<remote_servers incl="clickhouse_remote_servers" />
<zookeeper incl="zookeeper-servers" optional="true" />
<macros incl="macros" optional="true" />

从这里面可以看出,config.xml是通过以上配置和metrika.xml文件进行联动,以下贴出部分metrika.xml的配置,clickhouse_remote_servers、 zookeeper-servers、macros命名要与metrika.xml中一致:

<yandex>
<clickhouse_remote_servers>
<!-- clickhouse_remote_servers、 zookeeper-servers、macros命名要与config.xml中一致-->
<!-- 以下perf_3s_1r就是分布式集群的名字-->
<perf_3s_1r>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>ch201</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>ch202</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>ch203</host>
<port>9000</port>
</replica>
</shard>
</perf_3s_1r>
</clickhouse_remote_servers>

<!--zookeeper相关配置-->
<zookeeper-servers>
<node index="1">
<host>ch201</host>
<port>2181</port>
</node>
<node index="2">
<host>ch202</host>
<port>2181</port>
</node>
<node index="3">
<host>ch203</host>
<port>2181</port>
</node>
</zookeeper-servers>

<macros>
<replica>ch203</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>
<!-- 其中大部分配置一样,以下的配置根据节点的IP/域名具体配置,当前是ch201容器上添加的metrika.xml配置 -->
<macros>
<replica>ch201</replica>
</macros>

解决方案:

在config.xml里添加以下配置,请在集群每台节点上添加:

<include_from>/etc/metrika-node1.xml</include_from>
<remote_servers incl="clickhouse_remote_servers" />
<zookeeper incl="zookeeper-servers" optional="true" />
<macros incl="macros" optional="true" />

搭建参考1
集群信息未显示参考2

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:36:33  更:2022-03-11 22:37:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:30:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码