1. Cannot execute replicated DDL query, maxium retires exceeded.
    报错原因
    有之前执行的更新任务没有执行完,必须要之前版本的更新执行完才能进行新一版本的更新。

排查流程
在报错节点查询mutation任务,是否有卡住或无法顺利执行,如果没有报错且长时间卡住可以停止mutation任务后重新执行。

# 查询mutation任务
# is_done = 1,则表示该任务已结束,查看latest_failed_前缀的字段是否有报错内容,没有则是正常执行完毕
SELECT * FROM system.mutations;# 停止mutation任务,where条件根据具体mutation任务的query语句填写
KILL MUTATION [ON CLUSTER cluster] WHERE <where expression to SELECT FROM system.mutations query>
  1. 写入速度慢,写入频次高
    查看写入情况
SELECTdatabases,tables,count() AS times,avg(query_duration_ms / 1000) AS duration,avg(written_rows) AS rows_write,formatReadableSize(avg(written_bytes)) AS bytes_wirte,times / 10 AS times_min,sum(written_rows) / 10 AS rows_min,sum(written_bytes) / 10 AS bytes_min,sum(written_rows) / sum(query_duration_ms / 1000) AS eps,sum(query_duration_ms / 1000) AS insert_duration,avg(written_bytes) / avg(written_rows) AS line_size
FROM system.query_log
WHERE (type = 'QueryFinish') AND (query LIKE 'INSERT%') AND (event_time > (now() - 600))
GROUP BYdatabases,tables
ORDER BY duration ASC
  1. replication_queue merge 与fetch 死锁
    现象
    merge part AAA 依赖 part AA 依赖 part A ,part A丢失或损坏

原因
part丢失/损坏

zookeeper卡顿

处理过程
detach 对应partition将清理replication_queue

ALTER TABLE table_name DETACH PARTITION ‘202002’;
SELECT sleep(3);
ALTER TABLE table_name ATTACH PARTITION ‘202002’;

  1. Cannot convert NULL value to non-Nullable type
    原因
    表结构被修改过,存在字段类型由not NUll->Null,导致merge时数据类型转换失败

处理过程
重新建表,将旧数据导入新表

恢复表结构

  1. DB::Exception: Timeout exceeded while writing to socket 写入超时异常

查看sql 执行详细

select * from system.query_log where query_id='038898b6-dc65-45a2-9671-eb29e3da4958' format Vertical;
  1. insert导致 DB::Exception: Memory limit 写入占用过大内存

原因:
当批量写入数据单条较大时,会将整批数据缓存到内存中,并且因需要排序和序列化导致内存占用过大
处理:
max_insert_block_size 默认值 1048576 过大,可根据情况减小

The maximum block size for insertion, if we control the creation of blocks for insertion. (rows)

  1. Warning ProcessList Too many simultaneous queries will wai
    现象 警告队列同时写入次数过多
    同时执行写入队列次数太频繁了,批量条数调大一点,,写入次数太频繁了导致队列数满了,就会有警告等待五分钟 max_concurrent_queries 这个参数就是队列数为最大30 ,不需要修改,让写入批次调大

  2. Table is in readonly mode 异常
    问题描述

第一种场景是写入时发现 元信息和zk 元信息不一致 导致写入失败 表是readonly 状态

解决方式

在flags 目录下创建force_restore_data 文件 ,重启猛禽节点

第二种场景是启动节点时 加载表信息时 zk 元数据不存在 表是readonly 状态

解决方式

rename 数据库,如果数据不需要,可重新创建数据库和表。

一般是zk元数据丢失导致

第三种启动时日志中出现异常 稳定运行一段后出现异常

解决方式

重启服务可恢复 (根本原因是memory limit 内存不足 clucene_search_cache_size=5368709120)

  1. 系统断电导致文件系统损坏或文件损坏

处理方法:

改善措施,怎能fsync频率,降低文件损坏几率,但不能完全规避

可优化参数

内核参数:
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 1
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 5
vm.dirty_writeback_centisecs = 500

  1. zookeeper中数据副本节点丢失( Coordination::Exception: No node)
    两种现象,但都是副本节点信息丢失引起

zk中副本节点路径:~/{表路径}/replicas/{副本编号}/{信息节点}

现象:

1,启动时表加载失败导致启动失败

2,表一直处于readonly状态无法恢复

处理过程:

登录zookeeper,确认路径是否存在: ls /clickhouse/tables/38/xuanji_dwd/dwd_dayu_log_auth_user_timeout_and_exit_local/16e6dde7-44c6-4af4-b8bc-954955458531/replicas/1
如果路径不存在
备份元数据:mv /opt/xinghai/clickhouse/software/metadata/node1/store/5bf/5bfb9551-bd6e-4321-9589-466a0628a63c/dwd_dayu_log_auth_user_timeout_and_exit_local.sql /home/clickhouse/bak
重新启动当前节点
dwd_dayu_log_auth_user_timeout_and_exit_local表已不存在,重新建表(路径必须相同)
数据会自动从副本节点同步过来

  1. Too many parts (3005). Parts cleaning are processing significantly slower than inserts

当写入table,part数量过多时,产生此异常

表创建不合理,或merge不及时。

1.查看partition分布情况,如果每个partition中的part数量过少,则不正常
2.如果partition字段不正确,需要修改表结构

// 查看表结构
show create table database.table format Vertical;
// 备份表
rename table database.table to database.table_bak on cluster {集群名};
// 重新创建表
create database.table
// 恢复数据
insert into database.table select * from database.table_bak on cluster {集群名};
  1. part丢失后恢复
    处理:
    分区:丢失的part所在的分区

重启分区,刷新分区下的part元数据信息,在单个副本下执行即可


alter table uae.alert detach partition '20220505';alter table uae.alert attach partition '20220505';

clickhouse 集群异常排查处理总结相关推荐

  1. 如何做好Clickhouse集群的监控覆盖?

    前言 常言道,兵马未至,粮草先行.在clickhouse上生产环境之前,我们就得制定好相关的监控方案,包括指标采集.报警策略.图形化监控大盘.有了全面有效的监控,我们就仿佛拥有了千里眼顺风耳,对于线上 ...

  2. clickhouse集群容器化搭建

    本文将记录使用clickhouse镜像,分别在两种场景下搭建6节点集群(3分片2副本):1.在一台机器上使用容器方式安装clickhouse集群:2.在六台机器上使用容器方式安装clickhouse集 ...

  3. Oracle-opatchauto自动安装补丁失败导致RAC集群异常问题

    前言: 近期处理了一起由于opatchauto自动安装补丁失败导致的RAC集群异常问题,用户通过opatchauto进行RAC集群补丁升级,在升级的过程中出现报错失败并且集群也无法再重新启动. 经过分 ...

  4. clickhouse集群搭建

    clickhouse集群搭建 https://clickhouse.tech/ 单机安装 1.从源安装 https://clickhouse.tech/docs/zh/getting-started/ ...

  5. 0023-HOSTS配置问题导致集群异常故障分析

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看. 1.问题现象 Hadoop集群HDFS.YARN.Hive等服务出现异常告警 重启集群异常告警任然存在大量告警 Cluster 1 HD ...

  6. dockerer-compose搭建单机clickhouse集群,工作中最新亲测能用,超详细

    作为一名菜鸟Java工程师,公司这几天让我搭建clickhouse集群,对于搭建过的人来说十分简单,对zookeeper不太熟悉的人来说还是有一定难度的,这一周我在公司的角色更像是运维人员搭建集群和服 ...

  7. Docker搭建Clickhouse集群

    Docker搭建Clickhouse集群 环境说明 2C 2G 30G hostname IP 操作系统 服务 localhost 192.168.88.171 CentOs 7.8 clickhou ...

  8. 故障分析 | ClickHouse 集群分布式 DDL 被阻塞案例一则

    作者:任坤 现居珠海,先后担任专职 Oracle 和 MySQL DBA,现在主要负责 MySQL.mongoDB 和 Redis 维护工作. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授 ...

  9. clickhouse集群部署方案分析

    常见的三种集群架构方案 注:本文摘自网上内容,原文地址:https://zhuanlan.zhihu.com/p/161242274 ClickHouse分布式集群常见方案一:MergeTree + ...

最新文章

  1. 直播回顾 | 最强中文NLP预训练模型艾尼ERNIE官方揭秘
  2. lcd刷新慢_LCD1602刷新率很慢的问题
  3. java的继承和访问_Java 继承和访问控制
  4. MySQL中如何定义外键[转]
  5. UE4 控制台管理器: 在C++中设置控制台变量
  6. arcgis 投影坐标系转地理坐标系_空间坐标与投影系统系列(二):国内常用投影坐标系...
  7. Latex参考文献引用格式,期刊参考文献引用格式注意事项
  8. 〖工具〗Ladon 9.1.1 CobaltStrike神龙插件发布
  9. dell服务器开机自动进入bios设置,dell服务器进入bios设置独立显卡(戴尔bios显卡设置在哪)...
  10. VSCode svn忽略文件提交
  11. mysql pxc搭建_MySQL(PXC)集群搭建
  12. 如何快速找回丢失的数据?
  13. java gmail邮箱_Java - 谷歌邮箱发送邮件详解
  14. 在html中下面那是段落标签,【单选题】在 HTML 中,下面是段落标签的是 A. 与 B. 与 C. 与 D. 与...
  15. 查找大于某个数的最小数
  16. 洛谷 P3373 线段树2
  17. python二维码生成识别代码_Python学习案例之二维码生成识别
  18. 内存类型UDIMM、RDIMM、LRDIMM
  19. 活动图、类图、顺序图、状态图
  20. 磁卡、ID卡、IC卡、M1卡、CPU卡的理解区分

热门文章

  1. 【Power BI】分析仪在餐饮业中的应用
  2. r语言绘制精美pcoa图_R数据可视化4: PCA和PCoA图
  3. 股票数据API接口文档说明
  4. tensorflow:Not creating XLA devices, tf_xla_enable_xla_devices not set
  5. 2000-2020年上市公司制造业数据/制造业上市公司数据
  6. Ubuntu18.04 编译报错 `No package ‘orocos-bfl‘ found` 的解决方法
  7. android7.1.1彩蛋魅族,魅族PRO 6 Android 7.1.1尝鲜, 一功能很“原生”
  8. echarts地图自定义icon图标并在图标内自定义文字
  9. 这几个万里挑一的良心App,个顶个好用,保证一用就再舍不得删
  10. 沐神点赞!同济子豪兄精读AI经典论文,包括图像分类、目标检测、生成对抗网络、轻量化卷积神经网络等领域...