Support Questions
Find answers, ask questions, and share your expertise
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Open TSDB - No such name for 'metrics': 'test'

Open TSDB - No such name for 'metrics': 'test'


We are always getting error:

Caused by: net.opentsdb.uid.NoSuchUniqueName: No such name for 'metrics': 'test' at net.opentsdb.uid.UniqueId$ ~[tsdb-2.4.0.jar:] at net.opentsdb.uid.UniqueId$ ~[tsdb-2.4.0.jar:] ... 34 common frames omitted

I saw that usual error on Web is if missing some of three parameters:

tsd.core.auto_create_metrics = true

tsd.core.auto_create_tagks = true
tsd.core.auto_create_tagvs = true

We are sending data to the Open TSDB which is successfully being run.

echo "put test 1548838714 1 tag1=1" | nc 4243

Also we notice sometimes error while trying to execute echo command (if OpenTSDB is being run using the build/tsdb tsd and not through the /etc/init.d/opentsdb (by using the command service opentsdb start ):

if OpenTSDB is being run with build/tsdb tsd --config=src/opentsdb.conf --port=4243 --auto-metric=true &

then when echo "put test 1548838714 1 tag1=1" | nc 4243

is executed this error is presented:

org.hbase.async.RemoteException: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil$ClassLoaderHolder

This is configuration file:

# --------- NETWORK ----------
# The TCP port TSD should use for communications
# *** REQUIRED *** = 4243

# The IPv4 network address to bind to, defaults to all addresses
# =

# Enables Nagel's algorithm to reduce the number of packets sent over the
# network, default is True = true

# Determines whether or not to send keepalive packets to peers, default
# is True = true

# Determines if the same socket should be used for new connections, default
# is True = true

# Number of worker threads dedicated to Netty, defaults to # of CPUs * 2 = 8

# Whether or not to use NIO or tradditional blocking IO, defaults to True = true

# ----------- HTTP -----------
# The location of static files for the HTTP GUI interface.
# *** REQUIRED ***
tsd.http.staticroot = /opt/opentsdb-2.4.0/build/staticroot/

# Where TSD should write it's cache files to
# *** REQUIRED ***
tsd.http.cachedir = /opt/opentsdb-2.4.0/build/CACHE

# --------- CORE ----------
# Whether or not to automatically create UIDs for new metric types, default
# is False
tsd.core.auto_create_metrics = true

# --------- STORAGE ----------
# Whether or not to enable data compaction in HBase, default is True = true

# How often, in milliseconds, to flush the data point queue to storage,
# default is 1,000
# = 1000

# Name of the HBase table where data points are stored, default is "tsdb" = tsdb

# Name of the HBase table where UID information is stored, default is "tsdb-uid" = tsdb-uid

# Path under which the znode for the -ROOT- region is located, default is "/hbase" = /hbase-unsecure

# A comma separated list of Zookeeper hosts to connect to, with or without
# port specifiers, default is "localhost" = localhost = namenode1.local,namenode2.local

tsd.http.request.enable_chunked = true
tsd.http.request.max_chunk = 16000 = true = 45 = 4 = 4 = 4

tsd.core.uid.random_metrics = true

tsd.core.auto_create_tagks = true
tsd.core.auto_create_tagvs = true

Don't have an account?
Coming from Hortonworks? Activate your account here