OpenTSDB 2.4安装报org.hbase.async.TableNotFoundException: “tsdb“错误

使用rpm包安装目前最新的OpenTSDB 2.4时,会在启动时报:

org.hbase.async.TableNotFoundException: "tsdb"

经过排查,发现是由于OpenTSDB使用的HBase数据库初始化脚本/usr/share/opentsdb/tools/create_table.sh中关于tsdb的建表脚本有错误,原始内容为:

create '$TSDB_TABLE',
  {
     NAME => 't', VERSIONS => 1, COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER', DATA_BLOCK_ENCODING => '$DATA_BLOCK_ENCODING', TTL => '$TSDB_TTL'}

问题出在TTL => '$TSDB_TTL'上,这段schema被解析后其内容是TTL => 'FOREVER',如果你的HBase版本还不支持FOREVER关键字,建表就会失败。我们只需要将, TTL => '$TSDB_TTL'删除重新执行一下建表脚本就可以了。修改后的内容是:

create '$TSDB_TABLE',
  {
     NAME => 't', VERSIONS => 1, COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER', DATA_BLOCK_ENCODING => '$DATA_BLOCK_ENCODING'}

注意,如不显式地设定TTL,其默认取值是Integer.MAX_VALUE,大概是60多年,效果上是一样的。

重磅推荐:博主历时三年倾注大量心血创作的《大数据平台架构与原型实现:数据中台建设实战》一书已由知名IT图书品牌电子工业出版社博文视点出版发行,真诚推荐给每一位读者!点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,扫码进入京东手机购书页面!

在这里插入图片描述

你可能感兴趣的:(大数据专题,Linux与Shell编程,opentsdb,2.4,TableNotFound,hbase,tsdb)