【 TiDB 使用环境`】生产环境
【 TiDB 版本】V6.1.0
【遇到的问题】集群从V5.2.2升级到V6.1.0后,tiflash每两分钟生成一个11G的core.*文件,故将tiflash全部缩容,然后再扩容。扩容时,提示 目录冲突 Error: Deploy directory overlaps to another instance (spec.deploy.dir_overlap)
【复现路径】
【问题现象及影响】
-
SELECT * FROM information_schema.tiflash_replica;
和 ALTER TABLE DB.
TABLE SET tiflash replica 0;
;
-
tiup cluster scale-in hrdb --node X.X.X.X:X
和tiup cluster prune cluster
[root@tidb01 config-tidb]# tiup cluster scale-out XXXX scale-out-20220728-51.yaml
【附件】 相关日志及监控(https://metricstool.pingcap.com/)
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
xfworld
(魔幻之翼)
2
curl http://<pd_ip>:<pd_port>/pd/api/v1/config/rules/group/tiflash
tiup ctl:<cluster-version> pd -u http://<pd_ip>:<pd_port> store delete <store_id>
tiup cluster edit-config <cluster-name>
tiup cluster display <cluster-name>
以上命令都没有Tiflash的信息,缩容应该是成功了的
xfworld
(魔幻之翼)
8
你把原来的 tiflash 节点上的数据目录都清理掉阿,该初始化干的活,一个都不能少…
不然会认为,节点上已经有 tiflash 存活,无法扩容…
deploy_dir、data_dir、log_dir 目录上有关tiflash的数据都已清理了的,但是扩容还是失败
你的这个配置文件要改一下,deploy_dir,data_dir,log_dir 在tiflash_servers 的模块单独定义一个没有使用过的文件夹
指定目录也失败。看了一下,应该是最开始部署的时候,各个组件的log都存放在同一个目录log_dir: /home/tidb/tidb-logs
。
[root@tidb01 config-tidb]# cat /root/.tiup/storage/cluster/clusters/hrdb/meta.yaml
user: tidb
tidb_version: v6.1.0
last_ops_ver: |-
1.10.2 tiup
Go Version: go1.18.3
Git Ref: v1.10.2
GitHash: 2de5b500c9fae6d418fa200ca150b8d5264d6b19
topology:
global:
user: tidb
ssh_port: 22
ssh_type: builtin
deploy_dir: /home/tidb/tidb-deploy
data_dir: /home/tidb/tidb-data
log_dir: /home/tidb/tidb-logs
os: linux
arch: amd64
monitored:
node_exporter_port: 9100
blackbox_exporter_port: 9115
deploy_dir: /home/tidb/tidb-deploy/monitor-9100
data_dir: /home/tidb/tidb-data/monitor-9100
log_dir: /home/tidb/tidb-deploy/monitor-9100/log
server_configs:
tidb:
log.slow-threshold: 300
tikv: {}
pd:
replication.enable-placement-rules: true
schedule.leader-schedule-limit: 4
schedule.region-schedule-limit: 2048
schedule.replica-schedule-limit: 64
tiflash:
profiles.default.max_memory_usage: 10000000000
profiles.default.max_memory_usage_for_all_queries: 0
tiflash-learner: {}
pump: {}
drainer: {}
cdc: {}
grafana: {}
tidb_servers:
- host: 172.23.20.71
ssh_port: 22
port: 4000
status_port: 10080
deploy_dir: /home/tidb/tidb-deploy/tidb-4000
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
- host: 172.23.20.79
ssh_port: 22
port: 4000
status_port: 10080
deploy_dir: /home/tidb/tidb-deploy/tidb-4000
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
- host: 172.23.20.72
ssh_port: 22
port: 4000
status_port: 10080
deploy_dir: /home/tidb/tidb-deploy/tidb-4000
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
tikv_servers:
- host: 172.23.20.51
ssh_port: 22
port: 20160
status_port: 20180
deploy_dir: /home/tidb/tidb-deploy/tikv-20160
data_dir: /home/tidb/tidb-data/tikv-20160
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
- host: 172.23.20.53
ssh_port: 22
port: 20160
status_port: 20180
deploy_dir: /home/tidb/tidb-deploy/tikv-20160
data_dir: /home/tidb/tidb-data/tikv-20160
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
- host: 172.23.20.72
ssh_port: 22
port: 20160
status_port: 20180
deploy_dir: /home/tidb/tidb-deploy/tikv-20160
data_dir: /home/tidb/tidb-data/tikv-20160
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
tiflash_servers: []
pd_servers:
- host: 172.23.20.71
ssh_port: 22
name: pd-172.23.20.71-2379
client_port: 2379
peer_port: 2380
deploy_dir: /home/tidb/tidb-deploy/pd-2379
data_dir: /home/tidb/tidb-data/pd-2379
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
- host: 172.23.20.79
ssh_port: 22
name: pd-172.23.20.79-2379
client_port: 2379
peer_port: 2380
deploy_dir: /home/tidb/tidb-deploy/pd-2379
data_dir: /home/tidb/tidb-data/pd-2379
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
- host: 172.23.20.72
ssh_port: 22
name: pd-172.23.20.72-2379
client_port: 2379
peer_port: 2380
deploy_dir: /home/tidb/tidb-deploy/pd-2379
data_dir: /home/tidb/tidb-data/pd-2379
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
monitoring_servers:
- host: 172.23.20.71
ssh_port: 22
port: 9090
ng_port: 12020
deploy_dir: /home/tidb/tidb-deploy/prometheus-9090
data_dir: /home/tidb/tidb-data/prometheus-9090
log_dir: /home/tidb/tidb-logs
external_alertmanagers: []
arch: amd64
os: linux
grafana_servers:
- host: 172.23.20.71
ssh_port: 22
port: 3000
deploy_dir: /home/tidb/tidb-deploy/grafana-3000
arch: amd64
os: linux
username: admin
password: admin
anonymous_enable: false
root_url: ""
domain: ""
alertmanager_servers:
- host: 172.23.20.71
ssh_port: 22
web_port: 9093
cluster_port: 9094
deploy_dir: /home/tidb/tidb-deploy/alertmanager-9093
data_dir: /home/tidb/tidb-data/alertmanager-9093
log_dir: /home/tidb/tidb-logs
arch: amd64
os: linux
可不可以麻烦你吧global那部分去掉再 试一下
就是只留 tiflash_serves 那一部分像我的栗子那样
另外看你当前的配置好像所有组件的log目录都是一样的log_dir: /home/tidb/tidb-logs
不知道这里是不是有什么影响
嗯,也在猜想是由于这个原因。
但是由于是生产环境,使用tiup cluster edit-config ${cluster-name}
需要重启集群,暂时不太可行。而且也不确定是否这个原因。
长安是只喵
(长安是只喵)
17
不是说5.3之前的版本升级到5.3之后的版本,TiFlash不支持在线升级么?
长安是只喵
(长安是只喵)
19
是的,我说的就是这个。感觉有点复杂,不如直接删掉TiFlash副本,升级之后再添加TiFlash副本
我现在是升级后,删除了tiflash,无法再添加tiflash或其他组件了。都提示目录冲突