请问强制下线StoreId指令参数是什么了?

无法挽回了吗?数据缺失?还有什么方法么

你按照下面的方法进行验证哈:

1.找出那两个offLine的store的reigon,用上面你回答的方法

region --jq=’.regions[] | {id: .id, peers: [.peers[]] | map(select(.is_learner != true ))} | {id: .id, peers: [.peers[].store_id] | select(. | contains([70002,70059]) and length==2)}’

{“id”:3673943,“start_key”:“748000000000002CFF0D00000000000000F8”,“end_key”:“748000000000002CFF1000000000000000F8”,“epoch”:{“conf_ver”:23,“version”:4083},“peers”:[{“id”:7535196,“store_id”:7332002},{“id”:8321873,“store_id”:7982622},{“id”:9901614,“store_id”:9235861}],“leader”:{“id”:8321873,“store_id”:7982622},“written_bytes”:0,“read_bytes”:0,“written_keys”:0,“read_keys”:0,“approximate_size”:1,“approximate_keys”:0}
{“id”:3663917,“start_key”:“7480000000000010FF8700000000000000F8”,“end_key”:“7480000000000010FF8A00000000000000F8”,“epoch”:{“conf_ver”:23,“version”:1623},“peers”:[{“id”:7431121,“store_id”:7332002},{“id”:8073449,“store_id”:7982622},{“id”:9437647,“store_id”:9235861}],“leader”:{“id”:9437647,“store_id”:9235861},“written_bytes”:0,“read_bytes”:0,“written_keys”:0,“read_keys”:0,“approximate_size”:1,“approximate_keys”:0}

2.比如这种,选择regionID:3673943

执行 curl http://tidbIP:statusport/regions/3673943

注意是 statusPort,不是4000,是10080

  1. 会显示个

“frames”: [
{
“db_name”: “db”,
“table_name”: “table”,
“table_id”: 467,
“is_record”: true,
“record_id”: 19894851
}

4.连接数据库执行

select count(1) from db.table;

估计这里就报错了。


看着跟你贴的不太一样

试了七八个 regionid 提示这个 frames 都是 null

再换个region,多试试。

估计因为数据丢失,frames都解析不出来。

或者你直接对数据库表进行 select count(1) 计算,也能验出来,但是要多试几次。

搜tidb日志,估计有报错。
你这数据坏了,有点多,补救补上来。
测试环境,重新安装吧。

找到一个有frame的表,执行count(1) 一直执行了…我明天看看
怎么避免这种问题呢?我 按照标准 scale-in 为啥一直就是这个就是 pending offline 好几天了.
就明明屁大的数据
虽说是测试环境,然而测试这边已经有很多测试的数据在里面
现在重做贼麻烦

非常抱歉,带来的不便,请问目前测试如何了,多谢。

哎,上面反馈说是数据已经损坏了.也没有办法恢复.我觉得都是按照指定操作执行.怎么会这样呢
现在线上有一个Scale In 也是 执行好久了.都不敢动了
症状一样, display没有这节点信息,dashboard一直都有这个节点

既然 --force 会导致丢数据,为什么这东西还有提供在官方文档
另外 最新文档里面,缩容 tiflash 还是提供了这个 方法.上面说 也已经早就不能用了

都无语了. 现在线上系统按照官方文档执行的缩容,
也是卡在这,也不知道能怎么操作
会不会丢失数据,听天由命嘛…

个人觉得安全下线要这样吧:

  1. 添加 evict leader 调度器,迁移出所有 leader
  2. 等待要下线的 store,leader 数为 0,集群没有异常的 region peer
  3. 执行下线操作, 等待 store 上的 region peer 被调度出去(要求剩余store数量不低于副本设置)
  4. 让 pd 将其设置为 tombstone.

5.0的下线,教程确实有大问题,我都被坑两次了,我是真尼玛服,官网让强制下线,然后被提出拓扑图了,pd中还有残留,还不让置为tombstone,666

第2步没有异常的peer怎么快速判断

正常安全下线,还是要交给系统来完成吧:
1.开始前确认集群正常,集群中没有异常 peer,例如 down、pending 等
2.保证下线后剩余的 store 数量满足数据副本数的要求
3.在 pd 执行 store delete storeId 命令开始下线
4.静静的等待下线 store 上的 region 数降为 0,然后 pd 将其设置为 stone。(要通过 granfana 面板上数据确认 store 上 region peer 为 0,pd 才会将其设置为 stone)

有没有异常 peer,通过 granfana pd 的面板关于 region peer d的统计信息查看。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。