【问题标题】:HBase error while creatng table创建表时出现 HBase 错误
【发布时间】:2016-05-26 21:30:00
【问题描述】:

我是 HBase 新手,我正在自学。我安装 HBase 并尝试使用以下命令创建表

hbase(main):008:0> create 'htest', 'cf'

但是我遇到了很多错误。这就是出现的情况:

2016-05-27 02:51:12,835 错误 [主要] client.ConnectionManager$HConnectionImplementation:节点 /hbase 是 不在 ZooKeeper 中。应该是师父写的。检查 在“zookeeper.znode.parent”中配置的值。可能有一个 与主服务器中配置的不匹配。 2016-05-27 02:51:13,038 错误 [主要] client.ConnectionManager$HConnectionImplementation:节点 /hbase 是 不在 ZooKeeper 中。应该是师父写的。检查 在“zookeeper.znode.parent”中配置的值。可能有一个 与主服务器中配置的不匹配。 2016-05-27 02:51:13,339 错误 [主要] client.ConnectionManager$HConnectionImplementation:节点 /hbase 是 不在 ZooKeeper 中。应该是师父写的。检查 在“zookeeper.znode.parent”中配置的值。可能有一个 与主服务器中配置的不匹配。 2016-05-27 02:51:13,843 错误 [主要] client.ConnectionManager$HConnectionImplementation:节点 /hbase 是 不在 ZooKeeper 中。应该是师父写的。检查 在“zookeeper.znode.parent”中配置的值。可能有一个 与主服务器中配置的不匹配。 2016-05-27 02:51:14,848 错误 [主要] client.ConnectionManager$HConnectionImplementation:节点 /hbase 是 不在 ZooKeeper 中。应该是师父写的。检查 在“zookeeper.znode.parent”中配置的值。可能有一个 与主服务器中配置的不匹配。 2016-05-27 02:51:16,852 错误 [主要] client.ConnectionManager$HConnectionImplementation:节点 /hbase 是 不在 ZooKeeper 中。应该是师父写的。检查 在“zookeeper.znode.parent”中配置的值。可能有一个 与主服务器中配置的不匹配。 2016-05-27 02:51:20,873 错误 [主要] client.ConnectionManager$HConnectionImplementation:节点 /hbase 是 不在 ZooKeeper 中。应该是师父写的。检查 在“zookeeper.znode.parent”中配置的值。可能有一个 与master中配置的不匹配。

错误:节点 /hbase 不在 ZooKeeper 中。应该是 大师写的。检查中配置的值 'zookeeper.znode.parent'。可能与一个不匹配 在 master 中配置。

这里是这个命令的一些帮助:创建一个表。传一张桌子 名称和一组列族规范(至少一个),以及, 可选,表配置。列规范可以很简单 字符串(名称)或字典(字典在下文中描述 主要帮助输出),必须包括 NAME 属性。例子:

使用 namespace=ns1 和 table qualifier=t1 hbase 创建一个表> create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}

使用 namespace=default 和 table qualifier=t1 hbase 创建一个表> 创建 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'} hbase> # 以上简写如下: hbase> create 't1', 'f1', 'f2', 'f3' hbase> 创建 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true} hbase> create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}}

表配置选项可以放在最后。例子:

hbase> 创建 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40'] hbase> 创建 't1', 'f1', SPLITS => ['10', '20', '30', '40'] hbase> 创建 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe' hbase> 创建't1',{NAME => 'f1',版本 => 5},元数据 => { 'mykey' => 'myvalue' } hbase> # 可选择将表格预拆分为 NUMREGIONS, using hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" 或类名)hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'} hbase> 创建 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit', REGION_REPLICATION => 2, CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}}

您还可以保留对已创建表的引用:

hbase> t1 = 创建 't1', 'f1'

它为您提供了对名为“t1”的表的引用,您可以在该表上 然后调用方法。

我不知道该怎么办!任何帮助表示赞赏!

另外,我应该在安装 HBase 之前配置 Zookeeper 吗?我的教程没有这么说。

【问题讨论】:

  • 另外,当我list 时,会抛出另一个错误。请帮忙!
  • 有什么解决办法吗?面临同样的问题。
  • 大声笑,不。似乎没人在乎。从那以后我删除了 Ubuntu 并安装了 Mint 并得到了同样的血腥错误。
  • @AnonymousPerson,我在从我的 java 代码远程连接到 Hbase 时遇到了类似的问题。以下是帮助我解决问题的方法。首先,在您的集群(或 linux 节点)上输入命令“zookeeper-client”,然后输入“ls /”。检查是否创建了“hbase”目录(Ctr + D 退出 zookeeper-client)。如果没有将“zookeeper.znode.parent”的属性设置为“/hbase-unsecure”。这对我有用。如果有帮助,我可以分享我的 java 测试代码
  • @Rag,谢谢。让我试一试。顺便说一句,我不是使用 Java 来做的。它只是常规的 (hbase) shell。

标签: ubuntu hbase apache-zookeeper


【解决方案1】:

需要检查 HBase 日志是否有错误,最常见的解决方案是在 HBase-env.sh 文件中设置正确的参数。

请参考以下链接。它非常适合我。

https://sarangmanjrekar.wordpress.com/2016/10/06/node-hbase-is-not-in-zookeeper/

【讨论】:

    猜你喜欢
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 2017-09-02
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多