clickhouse(六、集群扩容)

本文探讨了ClickHouse集群在面临磁盘不足时的扩容策略,包括通过调整节点权重实现数据倾斜的方法,以及在数据量不大时通过复制表进行数据平衡的方案。实测结果表明,配置权重能有效引导数据分布,降低运维成本。

背景

之前公司面临磁盘不足的问题,虽然通过增加磁盘来缓解了。但是clickhouse集群节点扩充是发展迟早要面临的问题,所以尝试思考解决方案。
ck不同于hadoop体系,hdfs当集群增减节点时可以通过balance命令去自动调节。但ck集群不能自动感知集群拓扑变化,也不能自动 balance 数据。当集群数据量较大,复制表和分布式表过多时、想做到表维度、或者集群之间的数据平衡会导致运维成本很高。

方案

这里提供两个解决思路。

复制

当我们追求分布式表在新集群的平衡,数据量不大的情况,可以在新集群简历临时表B、然后将原始表A写入B中,再删除A表重新创建,之后将B表写入A中。
这种方式并不是数据量大、表数量过多的情形。

配置权重

当我们先用磁盘不够用的情况、通过配置权重指定大部分数据写入新的节点,是一种比较可行的方案。只需要配置/etc/metrika.xml 中各个shard的权重即可。

<clickhouse_remote_servers>
        <ck_cluster>
            <shard>
                <weight>99</weight>
                <replica>
                    <host>dc-sit-225</host>
                    <port>9000</port>
                    <user>default</user>
                    <password></password>
                </replica>
             </shard>
             <shard>
				<weight>1</weight>
                <replica>
                    <host>dc-sit-226</host>
                    <port>9000</port>
                    <user>default</user>
                    <password></password>
                </replica>
 
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值