Windows上连接虚拟机上的HBase出现问题

1.开发环境


  • 虚拟机:centos6.5
  • 其余大数据主要组件及版本如下:

[root@littlelawson local]# ll
drwxr-xr-x. 6 root root 4096 Apr 26 16:07 apache-maven-3.5.3
drwxrwxr-x. 10 hadoop hadoop 4096 Apr 4 09:35 hadoop-2.6.4
drwxr-xr-x. 9 root root 4096 Jun 17 10:10 hbase-1.4.0
drwxr-xr-x. 8 root root 4096 Apr 24 10:17 idea-IC-181.4445.78
drwxr-xr-x. 8 uucp 143 4096 Dec 19 16:24 jdk1.8.0_161
drwxr-xr-x. 7 root root 4096 Apr 22 04:49 kafka_2.11-1.0.0
drwxrwxr-x. 6 1001 1001 4096 Nov 9 2017 scala-2.11.12
drwxr-xr-x. 14 hadoop hadoop 4096 Apr 5 04:53 spark-2.2.0-bin-hadoop2.6
drwxr-xr-x. 10 502 games 4096 Jun 17 10:31 zookeeper-3.4.11

2.问题:


  • 拒绝连接的错误:​​java.net.ConnectException: Connection refused: no further information​​。引起这个错误的原因有很多,主要包括以下几个方面:

    • zookeeper启动失败【重启尝试】
    • hbase无法与zookeeper进行通信【可以在​​hbase shell​​中使用代码验证】
    • 可能是​​/etc/hosts​​下的文件中的DNS映射样式问题【笔者的问题】。普通​​/etc/hosts​​文件的DNS映射样式是:​​ipAddress localhost​​。因为hbase内置代码的一个bug,导致这样的DNS解析在物理机和虚拟机之间连接时会出现问题。所以需要修改主机名,比如将​​localhost​​换成​​littlelawson​​,与此同时,也需要修改其它大数据组件诸如hadoop,zookeeper中的名称,即可。


  • 连接zookeeper保错:​​WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection​

参考消息