2

按照 openTSDB 指南设置 1 个集群 hbase:
http ://opentsdb.net/setup-hbase.html 然后
http://opentsdb.net/docs/build/html/installation.html#id1
运行 TSD 守护进程,我给出了文档中指定的以下命令来创建表:

env COMPRESSION=NONE HBASE_HOME=path/to/hbase-0.94.X ./src/create_table.sh

它给出了以下错误:

create 'tsdb-meta',
  {NAME => 'name', COMPRESSION => 'NONE', BLOOMFILTER => 'ROW'}

ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
    at org.apache.hadoop.hbase.master.HMaster.getNamespaceDescriptor(HMaster.java:3121)
    at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1741)
    at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1780)
    at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:38221)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2185)
    at org.apache.hadoop.hbase.ipc.RpcServer$Handler.run(RpcServer.java:1889)

并且在 hbase 的日志中显示以下错误:

2014-09-08 15:01:01,874 ERROR [MASTER_TABLE_OPERATIONS-localhost:51157-0] handler.CreateTableHandler: Error trying to create the table hbase:namespace
java.io.IOException: Target file:/var/folders/5c/xxxxx/T/tsdhbase/hbase-xxxxxx/hbase/data/hbase/namespace/namespace is a directory
        at org.apache.hadoop.fs.FileUtil.checkDest(FileUtil.java:359)
        at org.apache.hadoop.fs.FileUtil.checkDest(FileUtil.java:361)
        at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:211)
        at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:163)
        at org.apache.hadoop.fs.RawLocalFileSystem.rename(RawLocalFileSystem.java:287)
        at org.apache.hadoop.fs.ChecksumFileSystem.rename(ChecksumFileSystem.java:425)        at org.apache.hadoop.hbase.master.handler.CreateTableHandler.handleCreat
eTable(CreateTableHandler.java:216)
        at org.apache.hadoop.hbase.master.handler.CreateTableHandler.process(CreateTableHandler.java:155)
        at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

有什么问题?

4

1 回答 1

-1

你的命令是:

env COMPRESSION=NONE HBASE_HOME= path/to/hbase-0.94.X ./src/create_table.sh

这是从文档中复制的。在它说“路径/到”的地方,它期望您添加填充到您的 hbase-0.9X 文件夹的路径。

例如。我在名为 drmclean 的本地用户下安装了 hbase。因此路径是:

/home/drmclean/hbase-0.98.6.1-hadoop2/

请注意,在您编写的命令中,hbase-0.94.X 的意思是“在此处插入您的版本号而不是 X。

使用 tab-autocomplete 确保您给出命令的路径是正确的路径。

于 2014-09-30T10:45:05.250 回答