kudu ksck 部分表 TS unavailable

一下命令如果涉及认证问题请sudo su kudu 或者kinit kudu@xxx.xxx

检查所有kudu表是否正常

kudu cluster ksck master.data.com:7051,node02.data.com:7051,node03.data.com:7051

发现部分表属于不正常状态。

原因。kudu的分区都分布在不同的机器上,比如分区a分布在node1 node2 node2,因为某些原因node2和node3下线了,或者把tablet server下线了。默认kudu文件的replia=3.那么此时这一份数据文件就只有一份了。其实很危险了,万一哪天哪个开发把node1机器也下线了,那么这份数据就没了。。。。。但是此时副本只有1还是不影响正常的查询的,因为这份数据还在,但是怎么避免这种风险呢?

下面介绍。

kudu cluster ksck master.data.com:7051,node02.data.com:7051,node03.data.com:7051 -tables=

default.good

 

 

可以看到有两个分区数据有问题,区kudu webui查看下 

确实存在问题

其中 81556965eed74b38b7c14761a5b42954   f7c9944884cc4a9692e5024fbda16305 

就是之前下线过的tablet server 的uuid。所以此时不可用了

修复 通过刚刚的ksck可以得到如下信息

tablet_id a3e8566605664a958f827c302223c7a1

peer uuids f7c9944884cc4a9692e5024fbda16305

正常节点tserver_address  node02.data.com

kudu remote_replica unsafe_change_config <tserver_address> <tablet_id> <peer uuids>

kudu remote_replica unsafe_change_config node02.data.com:7050 a3e8566605664a958f827c302223c7a1 1ce85cdecff240d5b191d512b927ef5a

 执行前

执行后

如果手速过快 使用 unsafe_change_config再ksck可以看到在复制中

但是。。。。令人操蛋的地方出现了。

三个b都挂了 神仙也难救。。下次研究下怎么把这个b 踢出去。 。。

2021-11-08

 

实际当我们在下线一个tablet server的时候,kudu会自己复制,看了一篇文章大概是5分钟,这个tablet server 不上线就会复制副本

 

kudu cluster ksck master.data.com:7051,node02.data.com:7051,node03.data.com:7051

 Corruption: table consistency check error: 264 out of 301 table(s) are not healthy

可以看到有264个tables 受到了影响,等了几分钟

 

 

 

 

最后发现就剩下的6个表(有的3个tablet 都挂了)属于不健康状态。。

后面我看了kudu官网命令行Apache Kudu - Apache Kudu Command Line Tools Reference 

没发现好办法。。但是我想到了一个办法。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值