clickhouse熔断备份监控

熔断机制

  1. 根据时间周期的累计熔断机制 (users文件内引用)
<quotas>
    <default> <!-- 自定义名称 -->
        <interval>
            <duration>3600</duration><!-- 时间周期 单位:秒 -->
            <queries>0</queries>
            <errors>0</errors>
            <result_rows>0</result_rows>
            <read_rows>0</read_rows>
            <execution_time>0</execution_time>
        </interval>
    </default>
    <limit_1>
        <interval>
            <duration>3600</duration>
            <queries>100</queries>
            <errors>100</errors>
            <result_rows>100</result_rows>
            <read_rows>2000</read_rows>
            <execution_time>3600</execution_time>
        </interval>
    </limit_1>
</quotas>
  1. 根据单次查询的用量熔断(用户profile处定义)
max_partitions_per_insert_block
max_rows_to_group_by
max_memory_usage
//等查看官网

数据备份

  1. 小体量数据
#导出
clickhouse-client --query="SELECT * FROM test_backup" > /chbase/test_backup.tsv
#导入
cat /chbase/test_backup.tsv | clickhouse-client --query "INSERT INTO
test_backup FORMAT TSV"
  1. 快照表备份
CREATE TABLE test_backup_0206 AS test_backup
INSERT INTO TABLE test_backup_0206 SELECT * FROM test_backup
# 考虑容灾将数据备份在不同的远程节点上
INSERT INTO TABLE test_backup_0206 SELECT * FROM remote('ch5.nauu.com:9000','default', 'test_backup', 'default')
  1. 按分区备份
# 使用FREEZE备份
ALTER TABLE tb_name FREEZE PARTITION partition_expr
#保存到/shadow/N子目录下,是对原始文件的硬链接,恢复使用ATTACH语句装载
#使用FETCH备份
ALTER TABLE tb_name FETCH PARTITION partition_id FROM zk_path
ALTER TABLE test_fetch FETCH PARTITION 2019 FROM
    '/clickhouse/tables/01/test_fetch'
#保存目录(会下载数据到本地)    
data/default/test_fetch/detached 

#两者均不会备份元空间数据,需要用户单独备份

服务监控

  1. 系统表
SELECT * FROM system.metrics LIMIT 5
SELECT event, value FROM system.events LIMIT 5
SELECT * FROM system.asynchronous_metrics LIMIT 5
  1. 查询日志

<query_log>
    <database>system</database>
    <table>query_log</table>
    <!--            <table>query_thread_log</table>-->
    <!--            <table>part_log</table>-->
    <!--            <table>text_log</table>-->
    <!--            <table>metric_log</table>-->
    <partition_by>toYYYYMM(event_date)</partition_by>
    <!--            <!—刷新周期&ndash;&gt;-->
    <flush_interval_milliseconds>7500</flush_interval_milliseconds>
</query_log>
       
 SELECT type,concat(substr(query,1,20),'...')query,read_rows,
        query_duration_ms AS duration FROM system.query_log LIMIT 6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值