java連接HBase,連接不上報錯can not resolve問題及解決
java連接HBase,連接不上報錯can not resolve
[INFO] [2020-06-23 21:30:16][org.apache.hadoop.hbase.client.RpcRetryingCaller – 165]Call exception, tries=10, retries=35, started=47508 ms ago, cancelled=false, msg=java.net.UnknownHostException: can not resolve hserver1,16000,1592917603843, details=, see https://s.apache.org/timeout
[INFO] [2020-06-23 21:30:28][org.apache.hadoop.hbase.client.RpcRetryingCaller – 165]Call exception, tries=11, retries=35, started=59772 ms ago, cancelled=false, msg=java.net.UnknownHostException: can not resolve hserver1,16000,1592917603843, details=, see https://s.apache.org/timeout
[INFO] [2020-06-23 21:30:50][org.apache.hadoop.hbase.client.RpcRetryingCaller – 165]Call exception, tries=12, retries=35, started=82155 ms ago, cancelled=false, msg=java.net.UnknownHostException: can not resolve hserver1,16000,1592917603843, details=, see https://s.apache.org/timeout
[INFO] [2020-06-23 21:31:13][org.apache.hadoop.hbase.client.RpcRetryingCaller – 165]Call exception, tries=13, retries=35, started=104512 ms ago, cancelled=false, msg=java.net.UnknownHostException: can not resolve hserver1,16000,1592917603843, details=, see https://s.apache.org/timeout
hserver1是我HBase的主機名,但是我的代碼中並為出現該名詞。
出現這種錯誤很有可能是hosts裡面沒有添加HBase的地址。
將HBase的ip地址寫在hosts中便可正常。
添加之後java就可以正常連接HBase瞭
java連接Hbase異常
java連接Hbase出現如下異常:
org.apache.hadoop.hbase.MasterNotRunningException:java.net.unknownHostException:can not resolve hdp14,16000
問題原因
hbase的配置文件中hbase-site.xml裡面關於 hbase.zookeeper.quorum 這個配置,使用的不是ip,而是hosts映射地址,導致無法解析諸如hdp14之類的主機名
解決辦法
把hbase所在主機的hosts文件中的配置,拷貝到java代碼運行環境中。
如果java代碼是在本地啟動的,就把hosts中的映射地址放在windows中的C:\WINDOWS\system32\drivers\etc\hosts裡面,如果java代碼是在linux服務上啟動的,就把hosts的映射地址放在 /etc/hosts中。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Linux下Hbase安裝配置教程
- Linux apache實現https的配置方法
- 通過DBeaver連接Phoenix操作hbase的方法
- 百度網盤下載慢怎麼解決 百度網盤下載速度慢破解方法
- github訪問速度慢的問題完美解決