gpt4 book ai didi

java - OPENTSDB fsck --fix 不纠正重复点

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:58 32 4
gpt4 key购买 nike

我正在使用 OPENTSDB,在查询时我得到了这个:

net.opentsdb.core.IllegalDataException: Found out of order or duplicate data: cell=Cell([-35, 87], [0, 0, 0, 0, 0, 8, -34, 65]), delta=3541, prev cell=Cell([-35, 87], [0, 0, 0, 0, 0, 12, -82, 106]), last_delta=3541, in row=[KeyValue(key=[0, 8, -96, 81, -7, -77, 16, 0, 0, 1, 0, -73, 83, 0, 0, 3, 0, 47, 57, 0, 0, 69, 0, 44, 99, 0, 0, 71, 0, 48, 79, 0, 0, 75, 0, 47, -53, 0, 0, 76, 0, 13, -24, 0, 0, 77, 0, 114, 14, 0, 0, 85, 0, -16, -50], family="t", qualifier="\xDDW", value=[0, 0, 0, 0, 0, 12, -82, 106], timestamp=1375323607530), KeyValue(key=[0, 8, -96, 81, -7, -77, 16, 0, 0, 1, 0, -73, 83, 0, 0, 3, 0, 47, 57, 0, 0, 69, 0, 44, 99, 0, 0, 71, 0, 48, 79, 0, 0, 75, 0, 47, -53, 0, 0, 76, 0, 13, -24, 0, 0, 77, 0, 114, 14, 0, 0, 85, 0, -16, -50], family="t", qualifier=[-35, 87, -35, -41, -34, 103, -32, 7, -32, -57], value=[0, 0, 0, 0, 0, 8, -34, 65, 0, 0, 0, 0, 0, 1, -122, -123, 0, 0, 0, 0, 0, 3, -22, 23, 0, 0, 0, 0, 0, 13, -10, -32, 0, 0, 0, 0, 0, 10, -27, 6, 0], timestamp=1375323057833)] -- run an fsck.

我试过使用 fsck --fix,但没有发现错误。有没有办法:1. 除了手动删除数据点之外解决此问题2. 了解发生了什么以及如何预防。

谢谢

最佳答案

解决方案 1:要避免这种情况从一开始就发生,请在 中将 tsd.storage.fix_duplicates 标志设置为 true opentsdb.conf.


解决方案 2:如果您已经将重复值写入 Hbase(底层数据存储),并且无法查询 openTSDB - 使用 fsck 实用程序:而在 opentsdb/build/

具体查询:

 ./tsdb fsck --fix-all 1h-ago now sum <metric-name> tag1=val1

对于指标:

./tsdb fsck --threads=2 --fix-all --resolve-duplicates 15d-ago sum <metric name>

Full Table:Hbase的'tsdb'表中的所有数据(openTSDB存储数据的一张表)

./tsdb fsck --full-scan --threads=8 --fix-all --resolve-duplicates --compact

有帮助fsck标志:

  • --fix-all - 设置所有修复标志以尝试一次性修复所有问题。谨慎使用。
  • --compact 在修复期间压缩未压缩的行。
  • --delete-bad-compacts 删除看似已压缩但解析失败的列。如果列解析正确但值的最后一个字节未设置为 0 或 1,则该列将保持不变。
  • --resolve-duplicates 通过删除除最新或最旧的数据点以外的所有数据点来启用重复数据点解析。另见 --last-write-wins。
  • --last-write-wins 标志设置后,在解决重复时删除除最近写入的数据点以外的所有数据点。如果配置值 tsd.storage.fix_duplicates 设置为 true,则无论此值如何,都会保留最新的数据点。未设置 --last-write-wins
  • --full-scan 扫描整个数据表。注意:这可能需要很长时间才能完成。
  • --threads 整数执行完整扫描时要使用的线程数。默认是 CPU 内核数的两倍。

关于java - OPENTSDB fsck --fix 不纠正重复点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944548/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com