解决Java API不能远程访问云服务器上的HBase问题

在腾讯云装了hadoop的伪集群和hbase的伪集群之后,在本地使用Javaapi连接调用hbase时,出现启动程序后,程序出现卡死的状态,没报错也不停止,大约半分钟后才打印一堆日志出来,说连接重试了多次也连接不上,截图如下:

通过查询看到有一个博主说是 ‘’HBase绑定的是本地IP:127.0.0.1,这当然访问不了

在腾讯云上执行:netstat -anp | grep 16000  如下:

发现我腾讯云中的地址真的指向了本地

 

解:

分下面三步走,即可访问

1、配置Linux的hostname

2、配置Linux的hosts,映射ip的hostname的关系

3、配置访问windows的hosts

 

配置Llinux的hostname和hosts,这样HBase启动的时候,就会自动把HBase绑定到Linux域名对应的ip上去

1.配置Linux的hostname

这里配置的hostname要Linux重启才生效,为了不重启就生效,我们可以执行:hostname master命令,暂时设置hostname

2.配置Linux的hosts

映射ip的hostname的关系

配置完Linux的这两项,启动HBase就发现HBase绑定到了我们想暴露的ip上了

但是到这步出现了一个问题hbase报错

ERROR: Can't get master address from ZooKeeper; znode data == null

我感觉是腾讯云中的这个hosts文件配置完后映射关系对应不上,因为云服务器中的IP地址对外提供的和实际的IP地址不是一个只不过是腾讯云安全组映射到我们实际的IP,所以我将这一步还原回去后我的映射关系就正常了如下:

 

3.配置访问windows的hosts

路径为:C:\Windows\System32\drivers\etc\hosts

配置完这三项Java API就可以远程访问HBase了,切记最后配置windows的hosts也是必须的

 

最后Java api测试成功调用腾讯云上部署的hbase集群如下:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值