启动HBase错误,表创建失败
我试着沿着这条路走,但我遇到了一个似乎无法解决的错误。我正在使用hbase-0.98.7-hadoop2发行版。当我使用启动HBase错误,表创建失败,hbase,Hbase,我试着沿着这条路走,但我遇到了一个似乎无法解决的错误。我正在使用hbase-0.98.7-hadoop2发行版。当我使用bin/start hbase.sh启动hbase时,我在日志中看到: 2014-11-08 01:40:07,911 INFO [main] util.VersionInfo: HBase 0.98.7-hadoop2 2014-11-08 01:40:07,911 INFO [main] util.VersionInfo: Subversion git://acer/u
bin/start hbase.sh
启动hbase时,我在日志中看到:
2014-11-08 01:40:07,911 INFO [main] util.VersionInfo: HBase 0.98.7-hadoop2
2014-11-08 01:40:07,911 INFO [main] util.VersionInfo: Subversion git://acer/usr/src/hbase -r 800c23e2207aa3f9bddb7e9514d8340bcfb89277
2014-11-08 01:40:07,912 INFO [main] util.VersionInfo: Compiled by apurtell on Wed Oct 8 15:58:11 PDT 2014
2014-11-08 01:40:08,195 INFO [main] server.ZooKeeperServer: Server environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
2014-11-08 01:40:08,196 INFO [main] server.ZooKeeperServer: Server environment:host.name=vagrant-ubuntu-precise-64
2014-11-08 01:40:08,196 INFO [main] server.ZooKeeperServer: Server environment:java.version=1.7.0_72
2014-11-08 01:40:08,196 INFO [main] server.ZooKeeperServer: Server environment:java.vendor=Oracle Corporation
2014-11-08 01:40:08,196 INFO [main] server.ZooKeeperServer: Server environment:java.home=/usr/lib/jvm/jdk1.7.0_72/jre
[……]
2014-11-08 01:40:18471错误
[RS_OPEN_REGION-vagrant-ubuntu-precise-64:22299-0]
handler.OpenRegionHandler:未能打开的
region=hbase:namespace,,1415321583827.49f3bd83d8a3431fe3cd69e56590703。,
开始回滚全局memstore大小。
java.lang.IllegalStateException:无法实例化区域
例子
位于org.apache.hadoop.hbase.regionserver.HRegion.newHRegion(HRegion.java:4261)
位于org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4569)
位于org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4542)
位于org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4498)
位于org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4449)
位于org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:482)
位于org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:145)
位于org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
在java.lang.Thread.run(Thread.java:745)处,由以下原因引起:java.lang.reflect.InvocationTargetException
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:526)
位于org.apache.hadoop.hbase.regionserver.HRegion.newHRegion(HRegion.java:4258)
... 10更多原因:java.lang.IllegalArgumentException:需要表描述符
位于org.apache.hadoop.hbase.regionserver.HRegion.(HRegion.java:555)
位于org.apache.hadoop.hbase.regionserver.HRegion.(HRegion.java:531)
... 还有15个
现在,当我打开一个HBase shell来创建一个表(如quickstart中所示)时,我得到
$ bin/hbase shell
2014-11-08 01:47:18,918 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.98.7-hadoop2, r800c23e2207aa3f9bddb7e9514d8340bcfb89277, Wed Oct 8 15:58:11 PDT 2014
hbase(main):001:0> create 'test', 'cf'
2014-11-08 01:48:44,064 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
ERROR: java.io.IOException: Table Namespace Manager not ready yet, try again later
at org.apache.hadoop.hbase.master.HMaster.getNamespaceDescriptor(HMaster.java:3172)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1727)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1766)
at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:40470)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
at org.apache.hadoop.hbase.ipc.FifoRpcScheduler$1.run(FifoRpcScheduler.java:74)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
我甚至在/etc/hosts
127.0.0.1 localhost
127.0.0.1 ubuntu.ubuntu-domain ubuntu
帮忙?我以为包裹应该是独立的。它不应该依赖于运行版本的zookeeper,对吗
任何帮助都将不胜感激。我使用的是64位Ubuntu,使用的是Oracle Java 1.7.0_72
我发现其他人的解决方案是运行HBase 0.94,但这不是最好的解决方案
提前感谢。如果您使用的是独立模式,请将此脚本粘贴到hbase-site.xml中。根据您的系统制作一个目录HBASE并更改脚本
<configuration>
<property>
<name>hbase.rootdir</name>
<value>/home/user17/HBASE/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/user17/HBASE/zookeeper</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.master</name>
<value>hadoop-master:60000</value>
</property>
</configuration>
然后在.bashrc中给出hbase路径
export HBASE_INSTALL=/home/user17/BigData/hbase-0.94.8
export PATH=$PATH:$HBASE_INSTALL/bin
然后转到hbase的bin目录并运行命令
./start-all.sh
hbase shell
如果不起作用,请告诉我,首先启动zookeeper,然后更改hbase env.sh,如下所示
# Tell HBase whether it should manage its own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
出现此问题是因为您忘记了在“/…/hbase/conf/regionservers”示例中输入所有“主名称和从名称”:(vim/opt/hbase/conf/regionservers)
师父,谢谢,但它不起作用。与我在等式中发布的错误相同。我可能不得不使用旧版本的hbase:0.94,而不是尝试0.96或0.98:(您的版本正确。下载zookeeper,然后转到zookeeper/conf并更新目录=/home/user/zookeeper(根据您的系统)然后转到zookeerper/bin并执行命令。/zkServer.sh start并通过命令netstat-nl | grep 2181检查2181端口是否正常工作这里的问题与HBase 1.1.2卡在过渡区域失败的情况相同\u为HBase打开:带有java.lang.IllegalArgumentException的命名空间:RegionServer上需要表描述符异常。有任何提示吗?Thx f或者便笺。我从发布后就离开了HBase,但我会在有时间在我的项目中重新启动HBase时尝试验证这一点。。
./start-all.sh
hbase shell
# Tell HBase whether it should manage its own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false