ClickHouse高可用架构测试

一、概述

1、可行性

现状:安装的是单节点

规划:改为多节点。则单点服务改多点服务,则避免单个点断开后整个服务器重启。现在用的虚拟机1T,计划改为固态硬盘,则性能更好。

执行:运维已搭建,测试时运行etl作业观察节点间是否影响。

2、必要性

ClickHouse 需要采用一种高可用性架构,采用多节点集群,以便在单个节点出现故障时,系统能够自动切换到备用节点,从而保持正常运行。

副本(Replica):副本是 ClickHouse 数据的一份完整拷贝,存储在多个节点上。通过副本,ClickHouse 可以实现数据的冗余和故障转移。

负载均衡(Load Balancing):负载均衡是将请求分发到多个节点上的过程,以便均匀分配系统的负载。在 ClickHouse 高可用性架构中,负载均衡器负责将用户请求分发到不同的副本上。

故障检测(Failure Detection):故障检测是用于检测节点故障的机制。在 ClickHouse 高可用性架构中,故障检测器会定期检查节点的状态,并在发现故障时通知负载均衡器进行故障转移。

故障转移(Failover):故障转移是在发生故障时自动切换到备用节点的过程。在 ClickHouse 高可用性架构中,故障转移可以通过故障检测和负载均衡器实现。

3、局限性

依赖性:ClickHouse 高可用性架构依赖于其他技术和组件,如网络、操作系统等。如果这些技术和组件出现故障,可能会影响 ClickHouse 高可用性架构的运行。

复杂性:ClickHouse 高可用性架构涉及多个组件和技术,可能会增加系统的复杂性和维护成本。

数据一致性:在某些情况下,ClickHouse 高可用性架构可能导致数据的不一致性。例如,在故障转移过程中,部分请求可能会被路由到备用节点,导致数据的不一致性。

二、部署

离线部署clickhouse三节点

在三个服务器分别安装clickhouse,配置文件加上三个服务器ip、指定集群名称。

一个集群可以有多个切片,一个切片可以有多个节点。

本次集群是一个切片三个节点。

在三个服务器分别安装clickhouse,配置文件加上三个服务器ip、指定集群名称。

实际应用中,192.168.12.112服务器作为主节点,进行插数和查询,其他为备用节点。

  • IP(三个节点):

192.168.12.112(主)

192.168.12.113

### ClickHouse 集群配置与管理 #### 配置文件设置 在 `<yandex>` 标签下添加如下配置,用于引入一个额外的配置文件 `/etc/clickhouse-server/metrika.xml`[^3]: ```xml <include_from>/etc/clickhouse-server/metrika.xml</include_from> <!-- 设置集群配置文件 --> ``` 此操作允许通过外部 XML 文件定义更复杂的配置选项而不必修改主配置文件。 #### 安装和服务启动 在集群中的所有机器上安装 ClickHouse 服务端之后,在每台服务器上执行命令以启动并启用 `clickhouse-server` 服务[^4]: ```bash systemctl start clickhouse-server systemctl enable clickhouse-server ``` 这确保了每次系统重启时自动启动 ClickHouse 服务,并立即激活该服务以便可以开始接收查询请求。 #### 创建本地表和分布式表 完成上述基础环境准备后,需要先创建各个节点上的本地存储表格;接着再基于这些本地表构建一张分布式的逻辑视图表。这种架构设计使得写入的数据能够被合理分配到不同物理位置上去保存,而读取的时候可以通过访问这张虚拟出来的全局视角下的大表来进行高效检索[^1]. #### 使用 Docker 进行快速部署 对于希望简化初期实验性质的小规模测试场景来说,采用容器化技术不失为一种便捷的选择。具体而言就是利用官方提供的最新版 ClickHouse 及指定稳定版本 (如 v3.6.1) 的 ZooKeeper 映像配合 docker-compose 工具一键拉起整个高可用性的多副本集群环境[^5]. 此外还附带提供了自动化脚本帮助用户更加轻松地上手实践这套解决方案.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值