我是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吗?我的教程没有这么说。
答案 0 :(得分:0)
需要检查HBase日志中的错误,最常见的解决方案是在HBase-env.sh文件中设置正确的参数。
请参阅以下链接。它完美地为我工作。
https://sarangmanjrekar.wordpress.com/2016/10/06/node-hbase-is-not-in-zookeeper/