创建表

时间:2016-05-26 21:30:00

标签: ubuntu hbase apache-zookeeper

我是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年5月27日   02:51:13,038错误[主要]   client.ConnectionManager $ HConnectionImplementation:节点/ hbase是   不在ZooKeeper中。它应该是由主人写的。检查   'zookeeper.znode.parent'中配置的值。可能有一个   与主站中配置的不匹配。 2016年5月27日   02:51:13,339错误[主要]   client.ConnectionManager $ HConnectionImplementation:节点/ hbase是   不在ZooKeeper中。它应该是由主人写的。检查   'zookeeper.znode.parent'中配置的值。可能有一个   与主站中配置的不匹配。 2016年5月27日   02:51:13,843错误[主要]   client.ConnectionManager $ HConnectionImplementation:节点/ hbase是   不在ZooKeeper中。它应该是由主人写的。检查   'zookeeper.znode.parent'中配置的值。可能有一个   与主站中配置的不匹配。 2016年5月27日   02:51:14,848错误[主要]   client.ConnectionManager $ HConnectionImplementation:节点/ hbase是   不在ZooKeeper中。它应该是由主人写的。检查   'zookeeper.znode.parent'中配置的值。可能有一个   与主站中配置的不匹配。 2016年5月27日   02:51:16,852错误[主要]   client.ConnectionManager $ HConnectionImplementation:节点/ hbase是   不在ZooKeeper中。它应该是由主人写的。检查   'zookeeper.znode.parent'中配置的值。可能有一个   与主站中配置的不匹配。 2016年5月27日   02:51:20,873错误[主要]   client.ConnectionManager $ HConnectionImplementation:节点/ hbase是   不在ZooKeeper中。它应该是由主人写的。检查   'zookeeper.znode.parent'中配置的值。可能有一个   与主站中配置的不匹配。

     

错误:节点/ hbase不在ZooKeeper中。它应该是   由大师写的。检查配置的值   'zookeeper.znode.parent'。可能与那个不匹配   在主服务器中配置。

     

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

     

创建一个名为namespace = ns1且table qualifier = t1 hbase>的表。创建   'ns1:t1',{NAME => 'f1',VERSIONS => 5}

     

使用namespace = default和table qualifier = t1 hbase>创建一个表。   创建't1',{NAME => 'f1'},{NAME => 'f2'},{NAME => 'f3'} hbase> #   以上简述如下:hbase>创建't1',   'f1','f2','f3'hbase>创建't1',{NAME => 'f1',VERSIONS => 1,TTL   => 2592000,BLOCKCACHE => true} hbase>创建'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',VERSIONS => 5},METADATA => {   'mykey'=> 'myvalue'} hbase> #可选择将表格预拆分为   NUMREGIONS,使用hbase> #SPLITALGO(“HexStringSplit”,“UniformSplit”   或类名)hbase>创建't1','f1',{NUMREGIONS => 15,SPLITALGO   => 'HexStringSplit'} hbase>创建't1','f1',{NUMREGIONS => 15,SPLITALGO => 'HexStringSplit',REGION_REPLICATION => 2,配置   => {'hbase.hregion.scan.loadColumnFamiliesOnDemand'=> '真正的'}}

     

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

     

HBase的> t1 =创建't1','f1'

     

它为您提供了对名为't1'的表的引用,您可以在其中使用   然后调用方法。

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

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

1 个答案:

答案 0 :(得分:0)

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

请参阅以下链接。它完美地为我工作。

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