在谷歌云平台上,我们一直面临着一个相当奇怪的问题。我们正在尝试在google云上使用静态ip地址设置一个hbase独立示例,并通过javaapi远程连接到该示例。
如果将代码编译到jar中并部署在hbase服务器上,则代码运行良好,但是从本地计算机上运行,尽管它已打开所有端口并具有完全访问权限,但拒绝通过zookeeper进行连接。
我搜索了无数个论坛,都没能成功。
更改了etc/hosts文件,在hbase-site.xml中添加了zookeeper quorum,但没有任何效果。
我已经隔离了一个问题,即hbase只通过localhost而不是外部ip连接到zookeeper。
我们正在centos 8上部署这个。
为了确认它与连接无关,我们在局域网上的一台虚拟机上尝试了这个方法,aws服务器,但似乎缺少了一些地方,它只是不想工作。
hbase-site.xml如下:
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>./tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>ip of server</value></property>
</property>
连接期间遇到的错误是:
2021-03-02 17:57:00,327 INFO [main] zookeeper.ZooKeeper: Initiating client connection, connectString=10.0.0.22:2181 sessionTimeout=10000 watcher=org.apache.hadoop.hbase.zookeeper.PendingWatcher@3dfa819
2021-03-02 17:57:00,332 INFO [main] common.X509Util: Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
2021-03-02 17:57:00,336 INFO [main] zookeeper.ClientCnxnSocket: jute.maxbuffer value is 4194304 Bytes
2021-03-02 17:57:00,343 INFO [main] zookeeper.ClientCnxn: zookeeper.request.timeout value is 0. feature enabled=
2021-03-02 17:57:00,356 INFO [main-SendThread(10.0.0.22:2181)] zookeeper.ClientCnxn: Opening socket connection to server rd-hp-pav-2/10.0.0.22:2181. Will not attempt to authenticate using SASL (unknown error)
2021-03-02 17:57:00,358 INFO [main-SendThread(10.0.0.22:2181)] zookeeper.ClientCnxn: Socket error occurred: rd-hp-pav-2/10.0.0.22:2181: Connection refused
2021-03-02 17:57:01,460 INFO [main-SendThread(10.0.0.22:2181)] zookeeper.ClientCnxn: Opening socket connection to server rd-hp-pav-2/10.0.0.22:2181. Will not attempt to authenticate using SASL (unknown error)
服务器上的etc/hosts文件包含以下格式:
127.0.0.1 localhost
123.23.34.56 cloud.google.com.c1.hbase hbase
在hbase的web gui上显示了以下信息,当hbase-site.xml中的所有值都发生更改时,我可以看到它引用了localhost
任何帮助都将不胜感激。
谢谢
1条答案
按热度按时间cgvd09ve1#
您可以尝试添加本地
/etc/hosts
像这样的文件条目public_ip_zookeeper/master private_DNS_name_zookeeper/master
我在aws也有类似的问题。这帮我解决了。