标签:文件 grep 启动 一行 停止 kudu data metadata
报错信息如下:
Check failed: _s.ok() Bad status: Corruption: Failed to load FS layout: Could not process records in container /data/sa_cluster/kudu/table_server/tserver_data/data/57229d7636f54c7d8d4ca41ecda01c1e: Data checksum does not match: Incorrect checksum in file /data/sa_cluster/kudu/table_server/tserver_data/data/57229d7636f54c7d8d4ca41ecda01c1e.metadata at offset 1601543: Checksum does not match. Expected: 0. Actual: 2043694497
解决办法:
1、删除xx.metadata文件最后一行。命令 sed -i ‘$d’ xx.metadata
2、 一般异常关闭会导致一批metadata文件损环,删除报错文件最后一行,再次启动很可能报下一个文件损坏。
可用批量删除同一时间点的metadata文件最后一行。
(1)先找到对应时间点:
cd /da1/bigdata/kudu/tablet/data/data/
ls -l --full-time | grep “b77918da73e342b4940f64c557ea0f61.metadata” | grep .metadata
找到时间点:
-rw------- 1 kudu kudu 568864 2018-10-13 17:04:07.857377164 +0800 b77918da73e342b4940f64c557ea0f61.metadata
(2)查看对应时间点的所有metadata文件ls -l --full-time | grep "2018-10-13 17:04:07.8" | grep ".metadata“
(3)用VIM随机打开几个文件是否都有异常(基本上最后一行都有异常字符)。
(4)批量删除这些文件最后一行
执行:(一行命令)
for i in `ls -l --full-time |
grep "2018-10-13 17:04:07.85" |
grep ".metadata" |
awk {'print $9'}`; do sed -i ‘$d’ $i; done
命行执行情况
标签:文件,grep,启动,一行,停止,kudu,data,metadata 来源: https://blog.51cto.com/u_15278282/2933700
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。