Kudu TabletServer服务器断电无法启动

Kudu TabletServer服务器断电无法启动

1.问题

Kudu TabletServer服务器正常大量写入时,服务器异常重启,会造成TabletServer的metadata的文件数据不完整功能,再次启动TabletServer会报如下错误:

Check failed: _s.ok() Bad status: Corruption: Failed to load FS layout: Could not process records in container /data1/bigdata/kudu/tablet/data/data/b77918da73e342b4940f64c557ea0f61: Data length checksum does not match: Incorrect checksum in file /data1/bigdata/kudu/tablet/data/data/b77918da73e342b4940f64c557ea0f61.metadata at offset 634685: Checksum does not match. Expected: 0. Actual: 1214729159

2.解决办法
  • 根据启动报错日志获取和报错日志文件一致的所有元数据文件,删除元数据文件的最后一行记录,然后启动Kudu TabletServer服务,观察是否还有此类似报错,有再处理,直到服务启动为止
# 创建元数据备份目录
mkdir /data1/backup/data1
# 根据kudu日志进入报错的相应元数据目录
cd /data1/bigdata/kudu/tablet/data/data/
# 备份元数据
cp -arpf ./*.metadata /data1/backup/data1
# 一般和此文件最后一次修改时间相同的目录都会有问题,先获取日志报错文件的最后修改时间
  b77918da73e342b4940f64c557ea0f61.metadata

输出信息

-rw------- 1 kudu kudu 7717519360 2019-07-10 13:16:07.662511306 +0800 b77918da73e342b4940f64c557ea0f61.metadata
# 删除所有和b77918da73e342b4940f64c557ea0f61.metadata元数据文件最后一次修改时间相同的文件的最后一行记录
for i in `ls -l --full-time |grep '2019-07-10 13:16:07.662511306 +0800'|grep '.metadata' | awk {'print $9'}`; do sed -i '$d' $i; done
  • 通过CM页面启动Kudu TabletServer服务

通过WebUI检查该Kudu TabletServer表情况,有可能存在表状态为FAILED的情况,副本数为3的表会从其他节点行copy过来

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值