问题
近日学习了使用Java api对Hbase进行DDL、DML操作,但是在使用api对表进行增删改查以及创建命名空间时,程序一直运行并不报错,但是在使用api确认表是否存在时程序很快返回。网上查阅资料后得到:应该配置Zookeeper端口号等方案,但经尝试后并未解决问题。
配置Zookeeper端口号:
Configuration configuration = HBaseConfiguration.create();
configuration.set(HConstants.ZOOKEEPER_CLIENT_PORT,"2181");
解决方案 在C:\Windows\System32\drivers\etc 的hosts 文件的最后添加集群主机IP地址及对应名称,比如用3台虚拟机(node01,node02,node03)搭建集群:
192.168.xxx.xxx node01
192.168.xxx.xxx node02
192.168.xxx.xxx node03
添加后程序立刻响应并完成操作。 之前在使用api对hadoop集群进行操作时也没有配置host文件,在创建Configuration时直接写入了ip地址,程序可以运行。但使用api对Hbase进行操作时不配置就导致程序无响应。
|