問題1:
java.net.ConnectException: Connection refused: no further information
- zookeeper.ClientCnxn: Session 0x0 for server null
- zookeeper未啟動,或無法連接,從查看各節點zookeeper啟動狀態、端口占用、防火牆等方面查看原因。
問題2:
找不到zookeeper服務器,則需要在windows本地的C:\Windows\System32\drivers\etc\下的hosts文件中添加zookeeper集群的映射。
問題3:
在最初的時候,我們設計的模式是拿出每天的股票信息,以股票名作為表名,然后每天遍歷爬蟲爬取到的股票信息,逐一添加到各個表中,結果在我執行了代碼以后,每次都是程序執行到了插入第300條股票信息,也就是在往第三個表中插入數據的時候,程序就會卡死,接下來就會一直提示信息INFO [main] client.AsyncProcess: #2, waiting for some tasks to finish. Expected max=0, tasksInProgress=35。強制結束后再次運行就會報錯,后來發現在/hbase/hbase-common/src/main/resources/hbase-default.xml中有這么一條配置信息
就是說我的代碼連接數過大引起的問題。當然,與此同時集群也出現了問題,hdfs文件系統中的/hbase文件夾出現了損壞,於是我刪掉重新建了一個,重啟服務之后集群恢復正常。之后我們重新討論了一下,設計了一下hbase中的表的模式,我們決定將所有股票信息插入在一張表中,問題從側面得到了解決。
問題4:
最終顯示頁面讀取數據的時候發現傳入的數據是亂碼
解決:代碼中涉及到的全部的編碼全是utf-8,在頁面輸入時的數據傳入java查詢類中時
String str = new String(stocknum.getBytes("UTF-8"), "ISO-8859-1");