报错 hbase can't get location或org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
在windows 下的C:\Windows\System32\drivers\etc的hosts
添加对应的host,比如机器是 192.168.2.150 对应主机名是hadoop01
则添加
192.168.2.150 hadoop01
有人说,但是我在java中用的连接方式没有用主机名,而是用的ip可以不添加吗
加上试试吧,这用的ip死活链接不上,但是在windwos里加了host就连接上了
可能原因推测
他通过zookeeper获取hbase配置
如上图,zookeeper.znode.parent /hbase
我们去hbase 的cli里面查看节点(进入方式 cd到zookeeper的bin目录,然后使用 zkCli.sh )
使用ls /
然后随便get一个内容,发现里面存的是主机名,hadoop0 而不是ip(下图hadoop0)
原因推测,java获取配置后获取的是主机名,但是windows又没有配置host 所以链接不上
获取的是主机名的原因可能是,配置hbase的文件的时候用了主机名