问题现象:
节点1上的ClickHouse数据库9100实例重启后,发现cjc数据库没了?
重启实例前
show databases;
┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ cjc │
│ default │
│ information_schema │
│ system │
└────────────────────┘
重启实例后
┌─name───────────────┐
│ INFORMATION_SCHEMA │
│ default │
│ information_schema │
│ system │
└────────────────────┘
架构说明:
ck部署在3台服务器上,每台服务器上配置两个ck实例,端口分别为9100和9200,架构是3分片2副本架构。
问题分析:
数据库创建默认engine是Atomic,理论上实例重启并不会自动删除
select name,engine,data_path,database from databases;
检查cjc库对应的物理文件还在:
clickhouse@cjcdb01:/clickhouse/9100/data/metadata$cat cjc.sql
ATTACH DATABASE _ UUID 'xxxad63f-3cb8-4616-bb99-xxxe98be48c8'
ENGINE = Atomic
clickhouse@cjcdb01:/clickhouse/9100/data/metadata$ls -lrth cjc/
total 8.0K
-rw-r----- 1 clickhouse clickhouse 351 Sep 27 15:40 t1.sql
-rw-r----- 1 clickhouse clickhouse 262 Sep 27 15:47 t1_all.sql
检查配置文件后,突然发现节点1的/etc/hosts配置有问题,正常应该是:
192.0.10.11 cjcdb01
192.0.10.12 cjcdb02
192.0.10.13 cjcdb03
节点1的配置的是:
192.0.10.11 cjcdb01
192.0.10.12 cjcdb03
192.0.10.13 cjcdb02
解决方案:
节点1修改/etc/hosts配置文件,再次启动实例,没有再发生类似的问题。
###chenjuchao 20241002###
欢迎关注我的公众号《IT小Chen》