由于某原因重启162节点上的stat-agent后,StatHub页面节点列表中162这台呆板的节点信息不见了。最后发现是服务器出了问题,mount命令,卡一会,一堆挂载,不知为何。df -hl命令也会卡一会才出来信息,这个问题导致stat-agent遍历磁盘信息时,卡住了。
ClickHouse也出问题了,一个服务插入数据时频繁报Too many parts异常
之前办理过一次,思绪就是增加每次批量插入的数据量,以镌汰插入次数。当时服务暂时稳定了,我以为办理了,其实并没有办理。服务消费的kafka的topic共有78个分区,rdd.foreachPartition的并行度是78,太大了,怎么镌汰并行度呢?当时我并不知道怎么办理。这次,我把代码改成了rdd.coalesce(1).foreachPartition,coalesce的作用是镌汰分区,这样就可以镌汰数据插入ClickHouse的并行度,我把并行度设置为1。按理说问题应该办理了,但照旧报Too many parts异常,数据插入成功几次失败几次。
重启ClickHouse
没有什么是重启办理不了的,如果不行,就再重启一次。
于是我就决定重启4个节点的ClickHouse服务。
重启第3个节点时,服务器突然失联,我就重启个ClickHouse就把服务器搞挂了?幸亏有惊无险,过了一会,又连上了。
重启第4个节点时,发现起不来了啊!查看监控页面,发现所有写入ClickHouse的服务,都报红了!我又重启了依赖的zookeeper服务,又多次重启了ClickHouse,都不行。
部分报错信息:DB::Exception: The local set of parts of table 'xxx' doesn't look like the set of parts in ZooKeeper: xxx billion rows of xxx billion total rows in filesystem are suspicious. ... Cannot attach table 'xxx' from metadata file /var/lib/clickhouse/metadata/xxx/xxx.sql from query ATTACH TABLE ...
百度搜到一个类似问题https://support.huaweicloud.com/intl/zh-cn/trouble-mrs/mrs_03_0281.html,步骤太多,没太看明确,不敢操作。
办理问题,重启ClickHouse成功
我注意到报错信息中的metadata file,心生一计,把错误日记中提到的那两个.sql文件改名成xxx.sql.bak备份一下,然后重启ClickHouse,成功了!然后把那两个文件又改名回来。然后观察那些写入ClickHouse的服务,全都正常了,部分服务失败了没有自动重启就手动重启了一下。然后发现Too many parts的问题也办理了。
162服务器也正常了