济南小老虎
(Ti D Ber Q94 Wi Qr2)
1
【 TiDB 使用环境】Poc
【 TiDB 版本】6.5.3
【复现路径】早上出现部分tiflash的表无法被查询, 提示9012 time out的问题.
中午将三个tiflash的节点执行了scale in 的操作
换用了一个新nvme和新的端口重新部署三个节点的tiflash 节点.
但是发现Tiflash服务器一直处于 offline的状态
服务不停地在重启.
我们这边有几个分区表, 表的分区数量还比较多.
【遇到的问题:问题现象及影响】tiflash无法启动
【资源配置】四台服务器, 都是 鲲鹏 96核心 512G内存 nvme SSD.
【附件:截图/日志/监控】
tiflash.log 部分报错信息为:
配置信息为:
default_profile = “default”
display_name = “TiFlash”
http_port = 8124
listen_host = “0.0.0.0”
path = “/nvme02/tiflash/data/tiflash-9001”
tcp_port = 9002
tmp_path = “/nvme02/tiflash/data/tiflash-9001/tmp”
[flash]
service_addr = “192.168.255.119:3931”
tidb_status_addr = “192.168.255.119:10080,192.168.255.121:10080,192.168.255.120:10080,192.168.255.120:10081”
[flash.flash_cluster]
cluster_manager_path = “/deploy/tidb/tiflash-9002/bin/tiflash/flash_cluster_manager”
log = “/deploy/tidb/tiflash-9002/log/tiflash_cluster_manager.log”
master_ttl = 600
refresh_interval = 200
update_rule_interval = 50
[flash.proxy]
config = “/deploy/tidb/tiflash-9002/conf/tiflash-learner.toml”
[logger]
count = 20
errorlog = “/deploy/tidb/tiflash-9002/log/tiflash_error.log”
level = “debug”
log = “/deploy/tidb/tiflash-9002/log/tiflash.log”
size = “1000M”
[profiles]
[profiles.default]
max_memory_usage = 0
[raft]
pd_addr = “192.168.255.119:2379,192.168.255.121:2379”
[status]
metrics_port = 8235
集群信息:
tiflash.tar.gz (25.4 MB)
济南小老虎
(Ti D Ber Q94 Wi Qr2)
2
[root@clickhouse1 log]# systemctl status tiflash-9002
● tiflash-9002.service - tiflash service
Loaded: loaded (/etc/systemd/system/tiflash-9002.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2023-09-18 15:35:21 CST; 7s ago
Main PID: 592125 (TiFlashMain)
Tasks: 1264
Memory: 1.2G
CGroup: /system.slice/tiflash-9002.service
└─592125 bin/tiflash/tiflash server --config-file conf/tiflash.toml
9月 18 15:35:21 clickhouse1 systemd[1]: Started tiflash service.
9月 18 15:35:21 clickhouse1 bash[592125]: sync …
9月 18 15:35:21 clickhouse1 bash[592125]: real 0m0.013s
9月 18 15:35:21 clickhouse1 bash[592125]: user 0m0.001s
9月 18 15:35:21 clickhouse1 bash[592125]: sys 0m0.000s
9月 18 15:35:21 clickhouse1 bash[592125]: ok
[root@clickhouse1 log]# systemctl status tiflash-9002
● tiflash-9002.service - tiflash service
Loaded: loaded (/etc/systemd/system/tiflash-9002.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Mon 2023-09-18 15:35:28 CST; 170ms ago
Process: 592125 ExecStart=/bin/bash -c /deploy/tidb/tiflash-9002/scripts/run_tiflash.sh (code=exited, status=1/FAILURE)
Main PID: 592125 (code=exited, status=1/FAILURE)
服务运行七秒左右就会自动退出.
h5n1
(H5n1)
3
都缩容了,缩容tiflash前 有没有把tiflash表副本取消?
统变量 tidb_allow_fallback_to_tikv
,用于决定在 TiFlash 查询失败时,自动将查询回退到 TiKV 尝试执行,默认为 OFF。可先临时调整让应用不报错了
scale-in时 offline状态是正常的,在等region迁移完,可以pd-ctl store XXX 或information_schema.tikv_store_status 看看region_count是否在减少?缩容可参考:
tiflash的log有error日志吗 重启前的,贴出来的warn info级别的应该没啥影响
1 个赞
6.5可以整个库取消tiflash副本,直接先把所有的tiflash副本全部取消,ALTER DATABASE aaa SET TIFLASH REPLICA 0,再缩容tiflash后扩容
济南小老虎
(Ti D Ber Q94 Wi Qr2)
8
scale in 已经成功了 但是scale out 的tiflash节点无效. 一直启动不起来.
系统疯狂的在刷新tikv里面数据库的表信息, 刷新到一定程度 就exited 然后没反应了.
SELECT * FROM INFORMATION_SCHEMA.TIFLASH_REPLICA
a WHERE a.TABLE_NAME
=‘’;—2022那个表
这里面显示啥
济南小老虎
(Ti D Ber Q94 Wi Qr2)
10
已经全部清理了. 现在都是 0 的 新增加的tiflash 启动不起来.
你这tiflash没设置副本,但是部署tiflash没报错也启动不起来。。。。理论上你tiflash replica都设置成0了,它刷什么日志啊。。。不应该先起来服务吗?你集群是从低版本升上来的吗?
济南小老虎
(Ti D Ber Q94 Wi Qr2)
13
不是, 我感觉我遇到了bug metadata 到282MB 后就会 失败.
我已经尝试多种方式了, 每次都是到 282M 失败. 希望各位大佬能给出一个解决方案呢.
[root@clickhouse1 tiflash-9003]# du -ahd 1
4.0K ./format_schemas
36G ./flash
4.0K ./status
36K ./page
4.0K ./flags
4.0K ./user_files
282M ./metadata
4.0K ./tmp
8.0K ./data
36G .
[root@clickhouse1 tiflash-9003]# systemctl status tiflash-9003
● tiflash-9003.service - tiflash service
Loaded: loaded (/etc/systemd/system/tiflash-9003.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Mon 2023-09-18 18:03:19 CST; 9s ago
Process: 888878 ExecStart=/bin/bash -c /deploy/tidb/tiflash-9003/scripts/run_tiflash.sh (code=exited, status=1/FAILURE)
Main PID: 888878 (code=exited, status=1/FAILURE)
[root@clickhouse1 tiflash-9003]#
dashboard看看日志吧,有什么error日志吗
有个类似的问题可以看一下:TiFlash节点不断重启
麻烦在 tiflash 的部署机器上跑这个命令,看看你的 cpu 是否支持 avx2 指令
cat /proc/cpuinfo | grep avx2
把输出的文本结果贴一下
dba-kit
(张天师)
18
看了你发的日志,只看到一个Address already in use
的报错,是端口被占用了?
❯ grep -Ev "INFO|DEBUG|ection for new style" tiflash.log
[2023/09/18 14:51:07.222 +08:00] [ERROR] [<unknown>] ["Net Exception: Address already in use: 0.0.0.0:8124"] [source=Application] [thread_id=1]
dba-kit
(张天师)
19
你混部的场景是把TiFlash和谁混部了啊,看下是不是端口冲突了。找了下TiFlash的端口还是挺多的。。
tiflash_servers:
- host: 10.0.1.11
# ssh_port: 22
# tcp_port: 9000
# flash_service_port: 3930
# flash_proxy_port: 20170
# flash_proxy_status_port: 20292
# metrics_port: 8234
# deploy_dir: /tidb-deploy/tiflash-9000
## The `data_dir` will be overwritten if you define `storage.main.dir` configurations in the `config` section.
# data_dir: /tidb-data/tiflash-9000
# numa_node: "0,1"