clickhouse(十二、踩坑之路)

ClickHouse问题分析:启动失败,报错 doesn‘t look like the set of parts in ZK ClickHouse问题分析:启动失败,报错 doesn't look like the set of parts in ZK 阅读详情
AI摘要

本文汇总了ClickHouse数据库在运行过程中遇到的多种常见错误及其详细的解决方案,包括元数据与数据不一致、分布式DDL语句超时、字符串转数字异常等问题,提供了实用的修复策略和技术建议。

  • Q1
    DB::Exception: Cannot create table from metadata file /data/clickhouse/metadata/default/dwd_test.sql, error: DB::Exception: The local set of parts of table default.dwd_test doesn’t look like the set of parts in ZooKeeper: 65.88 million rows of 85.04 million total rows in filesystem are suspicious. There are 545 unexpected parts with 65883643 rows (191 of them is not just-written with 65883643 rows), 0 missing parts (with 0 blocks).

  • A1
    这是由于truncate、alter等ddl语句用了on cluster,偶尔导致zookeeper同步异常。解决方法1:删除有问题节点的本地表数据 rm -r /data/clickhouse/data/default/dwd_test,再重新启动CK,副本会自动重新同步该表数据。(如果没有副本请不要使用此方法。)
    解决方法2:命令行执行sudo -u clickhouse touch /data/clickhouse/flags/force_restore_data 然后手动恢复有问题的partition

  • Q2
    Connected to ClickHouse server version 20.3.8 revision 54433.
    Poco::Exception. Code: 1000, e.code() = 13, e.displayText() = Access to file denied: /home/qspace/.clickhouse-client-history (version 20.3.8.53 (official build))

  • A2

    创建该文件、并设置开放权限。
    chown clickhouse:clickhouse /home/qspace/.clickhouse-client-history (没有则创建)

  • Q3
    Application: DB::Exception: Listen [::]:8124 failed: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = DNS error: EAI: Address family for hostname not supported (version 20.5.2.7 (official build))

  • A3
    本机没有开放ipv6,只能对ipv4生效。在/etc/click-house/config.xml中,把<listen_host> 改成0.0.0.0 或者 ::

  • Q4
    Code: 32, e.displayText() = DB::Exception: Received from hadoop8:9900. DB::Exception: Attempt to read after eof: Cannot parse Int32 from String, because value is too short. (version 20.3.8.53 (official build))
    字符串转数字异常,有些为空或者非数字的字符导致转换失败

  • A4
    使用toUInt64OrZero函数、转换失败则为0。

  • Q5
    Application: DB::Exception: Suspiciously many (125) broken parts to remove.: Cannot attach table default.test
    Code: 231. DB::Exception: Received from ck10:9000. DB::Exception: Suspiciously many (125) broken parts to remove…

  • A5
    因为写入数据造成的元数据和数据不一致问题。先删除磁盘数据、再重启节点删除本地表,如果是复制表再上zookeeper删除副本,然后重新建表。复制表的话数据会同步其他副本的。

  • Q6
    Cannot execute replicated DDL query on leader.

  • A6
    由于分布式ddl语句比较耗时会超时响应、改为本地执行或者减少作用的数据范围。如ALTER、OPTIMIZE全表改为具体的partition.

  • Q7
    Code: 76. DB::Exception: Received from 0.0.0.0:9900. DB::Exception: Cannot open file /data/clickhouse/data/default/test/tmp_insert_20200523_55575_55575_0/f0560_deep_conversion_optimization_goal.mrk2, errno: 24, strerror: Too many open files.

  • A7
    修改/etc/security/limits.conf 添加:
    clickhouse soft nofile 262144
    clickhouse hard nofile 262144
    使用ulimit -n 查询、看到的是所有用户可打开的总数,而ck能打开的大小只是系统的默认值,所以不要被这个命令干扰,重启ck后、获取ck的进程、再通过cat /proc/${pid}/limits |grep open ,判断配置是否生效

  • Q8
    DB::Exception: Too many parts(100).

  • A8
    官方回答:The following changes have been made on config.xml:

<merge_tree>
    <parts_to_delay_insert>300</parts_to_delay_insert>
    <parts_to_throw_insert>600</parts_to_throw_insert>
    <max_delay_to_insert>2</max_delay_to_insert>
    <max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>
  • Q9
    Code: 117. DB::Exception: Received from hadoop8:9900. DB::Exception: Data directory for table already containing data parts - probably it was unclean DROP table or manual intervention. You must either clear directory by hand or use ATTACH TABLE instead of CREATE TABLE if you need to use that parts…

  • A9
    建表的时候发现之前表存储数据还在,如果需要之前的数据那么把create改为attach语句,如果需要则要清理磁盘上对应表空间的目录、如果zookeeper上也有相关信息可能也需要一起清理。

  • Q10
    Received exception from server (version 20.3.8):
    Code: 999. DB::Exception: Received from hadoop7:9900. DB::Exception: Session expired (Session expired).

  • A10
    查看日志应该是zookeeper的状态问题。

clickhouse分布式集群遇到的一些错误处理 clickhouse 遇到的一些报错处理 阅读详情

相关推荐

ClickHouse 问题处理case2

查看ClickHouse logs目录下每天产生大量的错误日志,刚接触CH的时候,感觉日志可读性非常不友好,不像mysql那样一看就基本可以定位问题; CH日志中包含许多无效信息; 报错日志: 2021.05.12 23:19:08.747258 [ 46720 ] {0860894a-98fe-413b-a737-bcf1c3abeedf} <Error> TCPHandler: Code: 38, e.displayText() = DB::Exception: Cannot par

一条大河 5020

复杂查询导致clickhouse宕机

背景 最近在研究clickhouse,发现了不少坑,有些坑是官方的无法解决,有些是配置的问题。配置问题及优化的问题就需要我们不断的调整配置以及优化sql。优化sql最主要是理解clickhouse是如何查询的,我们才能找到瓶颈点,找到优化方法。 问题 在8G内存4核CPU的机器上,单节点的默认配置的clickhouse,保存数据8000W+,一个复杂的多表关联的查询,每次查询到98%的时候,clickhouse就自动宕机了,报错如下: Exception on client: Code: 32. DB::E

null_equals的专栏 5065

Python使用ClickHouse实践与踩坑记

本文为初步使用ClickHouse做OLAP数据分析实践,并记录了数据库连接端口配置、接口返回值等问题。体会到ClickHouse的速度快。

肖永威的专栏 2万+

ClickHouse 学习

DDL 添加数据库字段 alter table user_tags add column last_subject String; alter table user_tags add column class_trust_valids Int8; 删除列 ALTER TABLE [db].name [ON CLUSTER cluster] DROP COLUMN ...

银滴子的博客 1924

【clickhouse踩坑记录】clickhouse数据删不掉

背景 今天做数据同步时,需要进行先删除数据再写数据这一步操作。但是执行删除数据sql后,数据没被删掉,仍然还可以查询到。但执行删除语句返回的结果并没有报错。 // 删除代码 alter table ${db}.${table} on cluster ${cluster} delete where event_date between '2021-05-05' and '2021-06-03' // 查询代码 select * from ${db}.${table} where event_date bet

weixin_44505713的博客 9050

ClickHouse生产踩了坑?来看看怎么避坑

本文总结了ClickHouse在生产环境中常见的8大问题及解决方案:1)内存爆满问题,需优化查询语句和调整内存参数;2)磁盘空间不足,需定期清理数据和配置TTL;3)副本不同步,需检查配置一致性和网络连通性;4)数据倾斜,需优化分片键选择;5)数据重复/丢失,需配置去重引擎和备份机制;6)“Too many parts”错误,需优化批量写入策略;7)权限不足,需创建专用用户;8)端口冲突,需检查并终止占用进程。文章针对每个问题提供了具体操作方案,帮助用户快速定位和解决问题。

专注分享后端开发、大数据、分布式、性能优化等实战技术。 只写通俗易懂、能直接落地的干货,持续输出优质技术内容。 723

【ClickHouse】集群安装部署流程(踩坑解决)

ClickHouse集群安装部署流程(防止踩坑)ClickHouse集群安装部署Fisrt1、安装之前1.1、SSE 4.2 指令集1.2、设置用户的文件句柄数2、单节点方式2.1、yum方式安装RPM安装包方式一2.1.1、推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm包。2.1.2、查看安装包命令:2.1.3、然后运行命令安装:2.2、yum方式安装RPM安装包方式二2.2.1、安装curl工具2.2.2、添加clickhouse的yum镜像2.2.3、检查镜

m0_50638181的博客 2万+

【clickhouse踩坑记录】ClickHouse查询性能优化(入门级)

背景 用了一年多的ClickHouse,但好像都没系统地去学一遍,趁着最近有点时间,相对全面地去看了一圈ClickHouse的内容。发现ClickHouse虽然性能查询本身快,但如果使用不恰当,性能会被降一个级别。下面主要简单介绍一下,ClickHouse的查询可以从哪些方面做优化。可重点关注标题加粗部分!! 优化方法 表级别优化 填充有空值的字段 对于一些表字段,若存在空值,则可以考虑使用无业务场景意义的字符进行填充。因为ClickHouse对于空值,在底层存储是用了单独的文件存储。相对于没有空值的情

weixin_44505713的博客 1万+

ClickHouse踩坑指南

创建单表建议首选MergeTree引擎(ClickHouse中最强大的表引擎当属 MergeTree引擎及该系列(*MergeTree)中的其他引擎。),创建分布式表建议选择MergeTree + Distributed引擎,若保证高可用,建议选择ReplicatedMergeTree + Distributed引擎; 针对当前ClickHouse版本,Nullable(DateTime)不生效,插入空值报错; 在SQL解析方面,ClickHouse是大小写敏感的,这意味着SELECT a 和 SEL.

u013473512的博客 16万+

Clickhouse踩坑记录

背景:我司因presto在大数据量下查询较慢,后综合技术特点及我们的数据特点决定采用Clickhouse替代。 实现方案:将Hive数据每天增量同步至Clickhouse。 备注:以下将Clickhouse简称ck 实现步骤: 在ck中创建Hive引擎的表 在ck中创建MergeTree引擎的表 每天将Hive引擎的表增量同步至MergeTree引擎的表 踩坑点 一开始在ck创建表后发现hive那边是存储的文本格式的,后来在hive修改为orc格式 ,ck这边没有重新建表,然后就报了上边的

weixin_41589448的博客 3611

使用ClickHouse JDBC官方驱动,踩坑无数

这个问题我在网上查原因说是由于Zookeeper压力过大,表变成只读状态,导致ClickHouse插入数据失败。写入数据频率过高。Zookeeper中的集群节点挂掉。而我们项目出现这个问题的原因是第一个:写入数据频率过高。但是在网上搜资料的过程中,我又发现了另外一个问题:我们项目用了JDBC驱动,但ClickHouse官方并不推荐。。证实了官网确实不建议使用驱动:而应该改成驱动,并且推荐使用0.3.2以上的版本:于是,后面几天开始了ClickHouse的JDBC驱动升级之旅。

2万+

那些年我们踩过的一些坑之 ClickHouse

...

程序员小陶的大数据分享 3777

GB28181协议实战:5分钟搞定海康摄像头SIP注册失败问题(附Wireshark抓包分析)

本文详细解析了海康摄像头在GB28181协议下SIP注册失败的7个关键原因及解决方案,包括网络可达性、鉴权参数、NAT穿越等核心问题。通过Wireshark抓包分析,提供快速定位方法,帮助工程师高效解决SIP注册失败问题,提升实时图像联调效率。

weixin_29212867的博客 552

宝塔使用clickhouse踩坑

最近有个物联网项目,需要存储物联网终端发送过来的信息(类似log日志,但又要存储在数据库里,方便后期聚合统计),本来想写文件的奈何客户要求聚合统计,所以只能用数据库才能达到更高的计算效率,当然mysql对这种日志型数据库并没有优势,数据量上去后反而不利于计算,所以就研究了一下列式数据库,看到宝塔有clickhouse就研究了一下,但是期间遇到很多坑这里把解决方案分享出来供大家参考

qq_38883889的博客 1138

手把手教你自制Type-C OTG转换器(附电路图及避坑指南)

本文详细指导如何自制Type-C OTG转换器,包括核心电路设计、元器件选型及焊接技巧,特别强调硬件检测电路的关键作用。通过实测数据和避坑指南,帮助开发者解决兼容性问题,实现高效数据传输。

weixin_27038245的博客 712

LC整流滤波电路DIY:电感电容配合,手把手搭建低纹波直流电源

在直流电源设计中,整流滤波是连接交流输入与稳定输出的关键环节。常见的电容滤波虽然简单,但在大负载下纹波抑制能力有限,电感抵抗电流突变、电容抵抗电压突变,二者组合构成的LC滤波能有效降低输出电压纹波,同时减小开机浪涌电流。在工频线性电源、功放电源等对噪声敏感的场景中,LC滤波常作为稳压前的平滑缓冲。本文以一套完整DIY项目为线索,介绍整流桥后串联功率电感、并联滤波电容的电路构成,结合实际计算与波形测试,讨论电感量估算、电容选取、谐振风险、饱和电流等工程问题,并给出上电测试和故障排查方法。通过搭建与调试,可直观

weixin_29168813的博客 376

clickhouse实战和踩坑

最近需要使用clickhouse来做数据仓库,所以开始接触数据库clickhouse,下面是自己一些学习笔记。 1.什么是clickhouse? 官网描述:ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). 第一次接触列式数据库,感觉单看概念还是比较抽象,难懂,思维很难转换的过来 对比一下olap和oltp的区别: 从上面可以看出OLAP数据库特点就是数据量大,主要是查询操作,所以需保证查询速度快,所以一般OLAP一般采用列式数据库. 2.clickhouse的特征 官网

weixin_38437520的博客 1028

数学之美 | 图论和网络爬虫

文章目录概述图论网络爬虫分析BFSDFSBFS + DFS参考资料 概述 这篇文章主要给大家介绍一下计算机算法中非常重要的一部分——图论,以及它在生活中的应用——网络爬虫。   图论 离散数学是当代数学的一个重要的分支,也是计算机科学的数学基础。它又包括四个分支,而图论便是其中一支,另外三个分别是:数理逻辑、集合论、近代数学。 图论中的图由一些节点和边构成,比如下面这张图 。 在图论中一个很基础...

小小酥梨的博客 3231

关于Clickhouse的CollapsingMergeTree引擎生产环境踩坑分享

关于Clickhouse的CollapsingMergeTree表引擎生产应用分享

weixin_42329623的博客 922

【MODBUS】Java实现的Modbus协议类库——推荐j2mod库

Jamod是另一个开源的Modbus Java库。这个库的设计是完全面向对象的,基于抽象,应该支持易于理解、可重用性和可扩展性。它支持Modbus RTU和Modbus TCP,并且提供了主站和从站的功能。这是jamod Modbus库的一个分支,取自1.2.1版本,根据Apache 2许可证发布,包含在该项目的SVN存储库中。j2mod项目的目标是基于Java编程语言生成一个功能更全面的Modbus(tm)通信库。这是一个积极开发的项目,接受具有Modbus主站和从站开发经验的专业软件工程师提交的文件。

开源物联网项目商业化作者 5639

关于112G和56G PAM4信号的有效回损(ERL)

本文探讨了回波损耗(RL)对高速数字通信系统性能的影响,重点分析了时域信道运行裕度(COM)与频域回波损耗指标的关联性。研究表明,传统频域回波损耗指标在预测系统性能时存在假阳性/假阴性问题,特别是对PAM-4信号系统影响更为显著。通过引入基于时域脉冲响应的有效回波损耗(ERL)指标,并结合判决反馈均衡器(DFE)的补偿效应,可更准确评估系统性能。实验表明,短封装器件虽然频域回波损耗较差,但在实际系统中表现更优。研究提出通过时域门控加权等方法优化ERL计算,为高速互连设计提供了更可靠的性能评估框架。

小孟同学的博客 292

clickhouse 踩坑指南

1. clickhouse修改字段类型 当别人往表中插入数据,也就是对字段进行操作时,是不能修改字段类型的 此时若要修改字段类型,需要先drop掉该字段,再进行add,如果单纯使用modify是不会修改成功的。 ????: 原始 col1 类型是 string,此时若要修改为int32: alter tablebase.table ON CLUSTER *** modify column col1 Int32; but:如果此列一直在进行被修改,比如插入数据,则会报错: Exception

yuanyuanxingxing的专栏 3672

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

ClickHouse 踩坑合集:7 月遇到的 8 个让人头疼的生产问题

ORDER BY (event_time, user_id) 在时间范围查询时比 (user_id, event_time) 更优——但必须结合你的查询模式选:如果你的 90% 查询都是,user_id 放前面没错。但如果你大量查询是"最近 1 小时所有用户的行为"(只有时间过滤,没有 user_id 过滤),把 event_time 放第一列反而更好——因为 ClickHouse 会按 ORDER BY 的第一列做分区裁剪。没有放之四海皆准的 ORDER BY 顺序,必须基于实际查询日志做统计分析。

2401_85575345的博客 4755

图解联合概率密度、边缘概率密度、条件概率密度之间的关系

简要图解联合概率密度、边缘概率密度、条件概率密度之间的关系

一个搬运知识的笨小孩 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

clickhouse 安装踩坑

clickhouse配置

The_OneRS的博客 3205

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: metabase常用指令
下一篇: spark数据倾斜处理实践
yyoc97
博客等级 码龄12年 272粉丝 91原创
评论 19
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值