Can';无法使HBase独立模式正常工作
我正在使用openSuse 12.2作为Win 7 pc和virtualbox的来宾。 我下载了Hbase 0.94.3版本并将其解压缩到/usr/local/Hbase目录中 我执行了描述的步骤 我可以初始化hbase,但当我尝试在hbase shell中执行任何命令时,会出现错误。我连桌子都列不出来 这是我的hbase-site.xml文件:Can';无法使HBase独立模式正常工作,hbase,Hbase,我正在使用openSuse 12.2作为Win 7 pc和virtualbox的来宾。 我下载了Hbase 0.94.3版本并将其解压缩到/usr/local/Hbase目录中 我执行了描述的步骤 我可以初始化hbase,但当我尝试在hbase shell中执行任何命令时,会出现错误。我连桌子都列不出来 这是我的hbase-site.xml文件: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="confi
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper</value>
</property>
</configuration>
这是生成的日志文件的最后一部分:
2012-12-27 19:53:41,820 ERROR org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMasterlinux-eh01.site: Name or service not known
at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:134)
at org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:197)
at org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:147)
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:140)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:103)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1820)
Caused by: java.net.UnknownHostException: linux-eh01.site: linux-eh01.site: Name or service not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1438)
at org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:185)
at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:246)
at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:215)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:131)
... 7 more
Caused by: java.net.UnknownHostException: linux-eh01.site: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
at java.net.InetAddress.getLocalHost(InetAddress.java:1434)
... 15 more
2012-12-27 19:53:41820错误org.apache.hadoop.hbase.master.HMasterCommandLine:无法启动master
java.lang.RuntimeException:未能构造Master:class org.apache.hadoop.hbase.Master.HMasterCommandLine$LocalHMasterlinux-eh01.site:名称或服务未知
位于org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:134)
位于org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:197)
位于org.apache.hadoop.hbase.LocalHBaseCluster。(LocalHBaseCluster.java:147)
位于org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:140)
位于org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:103)
位于org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
位于org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76)
位于org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1820)
原因:java.net.UnknownHostException:linux-eh01.site:linux-eh01.site:名称或服务未知
位于java.net.InetAddress.getLocalHost(InetAddress.java:1438)
位于org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:185)
位于org.apache.hadoop.hbase.master.HMaster。(HMaster.java:246)
位于org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster。(HMasterCommandLine.java:215)
位于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:525)
位于org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:131)
... 还有7个
原因:java.net.UnknownHostException:linux-eh01.site:名称或服务未知
在java.net.Inet6AddressImpl.lookupAllHostAddr(本机方法)
位于java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
位于java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
位于java.net.InetAddress.getLocalHost(InetAddress.java:1434)
... 还有15个
对我来说,这似乎是一个与网络相关的问题,而不是Hbase。如果您查看日志,就会发现正在调用其他主机,而不是本地主机。确保您的虚拟机上有正确的DNS解析。如果希望顺利运行Hbase,这一点非常重要。您是否已将/etc/hosts文件中的行“127.0.1.1”更改为“127.0.0.1”?HBase不适用于环回ip。因此,尽量避免在/etc/hosts文件中使用环回ip
环回IP-HBase 0.94.x及更早版本
以下建议仅适用于hbase-0.94.x及更早版本。
这在hbase-0.96.0及更高版本中是固定的 在HBase 0.94.x之前,HBase预期环回IP地址为127.0.0.1。Ubuntu和其他一些发行版默认为127.0.1.1,这将给您带来问题。了解HBase为什么关心/etc/hosts吗?详情 例1。Ubuntu的示例/etc/hosts文件 以下/etc/hosts文件适用于Ubuntu上的HBase 0.94.x及更早版本。如果遇到麻烦,请使用此模板 127.0.0.1本地主机
127.0.0.1 ubuntu.ubuntu-domain ubuntu我不需要。当我检查/etc/hosts时,线路已经正确了。感谢您的回复。然后尝试使用IP添加主机名。如果已经做了,请忽略。这解决了问题。只需将行127.0.0.1linux-eh01.site添加到/etc/hosts,就可以了。再次感谢Tariq。这在hbase-0.96.0及更高版本中已修复
2012-12-27 19:53:41,820 ERROR org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMasterlinux-eh01.site: Name or service not known
at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:134)
at org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:197)
at org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:147)
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:140)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:103)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1820)
Caused by: java.net.UnknownHostException: linux-eh01.site: linux-eh01.site: Name or service not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1438)
at org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:185)
at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:246)
at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:215)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:131)
... 7 more
Caused by: java.net.UnknownHostException: linux-eh01.site: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
at java.net.InetAddress.getLocalHost(InetAddress.java:1434)
... 15 more