hadoop - 竞争条件警告 OpenTSDB

标签 hadoop hbase apache-zookeeper opentsdb

我在同时向 openTSDB 运行多个导入时收到竞争条件警告。以下是显示竞争条件的日志序列之一。

2013-08-21 14:34:24,745 INFO [main] UniqueId: Creating an ID for kind='tagv' name='25447'

2013-08-21 14:34:24,747 INFO [main] UniqueId: Got ID=307 for kind='tagv' name='25447'

2013-08-21 14:34:24,752 WARN [main] UniqueId: Race condition: tried to assign ID 307 to tagv:25447, but CAS failed on PutRequest(table="tsdb-uid", key="25447", family="id", qualifiers=["tagv"], values=["\x00\x013"], timestamp=9223372036854775807, lockid=-1, durable=true, bufferable=true, attempt=0, region=null), which indicates this UID must have been allocated concurrently by another TSD. So ID 307 was leaked.

我有以下问题:

  1. 既然是警告,难道记录是真的写入了,没有跳过?
  2. 最后显示“ID 307 已泄露”,那么是否为该记录分配了其他 ID?
  3. 如何验证该记录是否已写入 HBase 名为“tsdb-uid”的表中? (HBase shell命令,我尝试了一些但没有成功)。

最佳答案

这只是意味着 UID 没有被分配,但除此之外一切都很好。如果您担心 tsdb-uid 表的状态,可以运行 tsdb uid fsck 命令,它可能会报告某些 UID 已分配但未使用。

如果您只是偶尔看到该消息,则可以忽略它。如果您经常看到它,那么唯一的不良后果是您消耗 UID 空间的速度比应有的速度更快,因此您可能会更快用完 UID(每个 UID 都有 16777215 个:指标名称、标签名称、标签值)。

关于hadoop - 竞争条件警告 OpenTSDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354383/

相关文章:

java - Apache Storm 工作线程异步循环终止

java - 无法连接到 zookeeper,然后 hbase master 关闭

java - 如何检测 Apache Zookeeper session 何时丢失或超时?

java - Hadoop/Rubydoop + Cloud⁹ : Found class, 但接口(interface)是预期的

regex - 如何以不区分大小写的方式将文件复制到 HDFS

java - 为什么 HBase API 在使用前缀过滤器扫描表后返回空集?

apache - 主启动无法进行,在保持模式直到区域联机

hbase - 无法从java应用程序远程连接HBase

hadoop - Hive/Impala - 在层次结构表中查找结束子节点

hadoop - 如何运行映射?