在Java连接hbase时出现的问题
問題1:
java.net.ConnectException: Connection refused: no further information
- zookeeper.ClientCnxn: Session 0x0 for server null
- zookeeper未啟動,或無法連接,從查看各節(jié)點zookeeper啟動狀態(tài)、端口占用、防火墻等方面查看原因。
問題2:
找不到zookeeper服務(wù)器,則需要在windows本地的C:\Windows\System32\drivers\etc\下的hosts文件中添加zookeeper集群的映射。
?
問題3:
在最初的時候,我們設(shè)計的模式是拿出每天的股票信息,以股票名作為表名,然后每天遍歷爬蟲爬取到的股票信息,逐一添加到各個表中,結(jié)果在我執(zhí)行了代碼以后,每次都是程序執(zhí)行到了插入第300條股票信息,也就是在往第三個表中插入數(shù)據(jù)的時候,程序就會卡死,接下來就會一直提示信息INFO [main] client.AsyncProcess: #2, waiting for some tasks to finish. Expected max=0, tasksInProgress=35。強制結(jié)束后再次運行就會報錯,后來發(fā)現(xiàn)在/hbase/hbase-common/src/main/resources/hbase-default.xml中有這么一條配置信息
就是說我的代碼連接數(shù)過大引起的問題。當(dāng)然,與此同時集群也出現(xiàn)了問題,hdfs文件系統(tǒng)中的/hbase文件夾出現(xiàn)了損壞,于是我刪掉重新建了一個,重啟服務(wù)之后集群恢復(fù)正常。之后我們重新討論了一下,設(shè)計了一下hbase中的表的模式,我們決定將所有股票信息插入在一張表中,問題從側(cè)面得到了解決。
?
問題4:
最終顯示頁面讀取數(shù)據(jù)的時候發(fā)現(xiàn)傳入的數(shù)據(jù)是亂碼
解決:代碼中涉及到的全部的編碼全是utf-8,在頁面輸入時的數(shù)據(jù)傳入java查詢類中時
String str = new String(stocknum.getBytes("UTF-8"), "ISO-8859-1"); ?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Try-kevin/p/7901302.html
總結(jié)
以上是生活随笔為你收集整理的在Java连接hbase时出现的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新款现代瑞纳正式上市,售价4.99-7.
- 下一篇: str.format() 格式化字符串函