温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在hbase shell中输入命令无响应并报错怎么办

发布时间:2021-07-29 21:14:12 来源:亿速云 阅读:278 作者:chen 栏目:云计算

本篇内容介绍了“在hbase shell中输入命令无响应并报错怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

今天将单机的hbase加入hadoop集群中,启动hbase表现很正常。执行status长时间无响应。一段时间后报错:ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times。

并且访问hbase界面的60010端口(http://node1:60010/master-status)也无法打开:

查看日hbase/logs中日志后。在文件hbase-hadoop-master-node1.out中出现了如下一行:

14/10/05 22:25:52 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpe
cted error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574
)
        at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocket
NIO.java:350)
        at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
14/10/05 22:25:53 INFO zookeeper.ClientCnxn: Opening socket connection to server
 node1/10.0.0.101:10086. Will not attempt to authenticate using SASL (无法定位登
配置)

原来是我的hbase/conf下的hbase-site.xml里的配置:

<property>
    <name>hbase.rootdir</name>
    <value>hdfs://node1:10086/hbase</value>
</property>

和hadoop/conf里的core-site.xml里的

  <property>
    <name>fs.default.name</name>
    <value>hdfs://node1:9000</value>
  </property>

不一致。必须保证两文件中地址和端口一致。都改成9000端口就好了。

执行命令:

[hadoop@node1 bin]$ ./hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.23, rf42302b28aceaab773b15f234aa8718fff7eea3c, Wed Aug 27 00:54:09 UTC 2014
hbase(main):001:0> status
1 servers, 0 dead, 2.0000 average load

访问http://node1:60010页面打开正常。

ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times。

出现上面这个错误一般有哪几种情况呢?

       如果在hbase的配置文件中将rootdir属性设为hdfs,如果hbase与hadoop之前RPC协议不一致就会导致了这个问题的发生。

1.你可以检查hadoop的服务进程是否启动。

2.也可以查看他们两者间版本是否一致(如:查看hbase/lib下的hadoop-core文件的版本为hadoop-core-1.0.4.jar,而你的hadoop根目录下是hadoop-core-1.0.3.jar ,则不一致),如果不一致你可以将hadoop/hadoop-core-*.jar拷贝到hbase/lib/下。

3.另外可以查看是否是以安全模式启动的hadoop(命令:hadoop dfsadmin -safemode get查看安全模式状态),如果是开启的则关闭(命令:hadoop dfsadmin -safemode leave离开安全模式)。

4.当然,还有一种是两者间主机的系统时间不一致导致的(比如时区设定不一致,导致时间相差过大)。

当然解决这样的问题还是得查看相关日志,从日志文件入手,你才能知道到底是哪一种情况。比如同样是报上面的错误,而查过日志后,才会发现我的问题是端口不一致导致的。

“在hbase shell中输入命令无响应并报错怎么办”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI