Solrcloud:重新啟動後出現錯誤 500
我有 3 個 vm 視窗,它們都安裝了 solr 5.4.0 和 3.4.6 zookeeper;這兩個服務在 vm 啟動時自動啟動。重新啟動 vms 後,solr 沒有正確響應,它給了我 error500:
HTTP 錯誤 500 訪問 /solr/ 時出現問題。原因:伺服器錯誤… SolrException:處理請求時出錯。CoreContainer 要麼未初始化,要麼正在關閉。
檢查日誌我也看到了這個錯誤:
oascSolrCore null:org.apache.solr.common.SolrException:從zookeeper載入solr.xml時出錯
嘗試停止所有 vm 上的 zookeeper 和 solr 服務並重新啟動(在所有 vm 上啟動 zookeeper 之前和 solr 之後),有時需要 solr 才能正常工作;其他時候,通過 UI 的 solrcloud 部分,我們注意到節點處於關閉狀態(寫成棕色)
我列出了我為創建集群 solr 而執行的過程:
- 創建文件夾“zookeeper/data”並通過以這種方式添加zookeeper節點來更改zoo.cfg文件
初始化限制 = 5
同步限制=2
dataDir = C:/zookeeper/數據
客戶端埠=2181
server.1=zknode1:2888:3888
server.2=zknode2:2888:3888
server.3=zknode2:2888:3888
- 在 zookeeper\data 的節點(1、2、3)上創建了具有相應編號的 myid 文件
- 通過 NSSM,我創建了啟動腳本 zookeeper\bin\zkServer.cmd 的 zk 服務,以及使用以下參數啟動 solr\bin\solr.cmd 的 solr 服務
-c -z “zknode1:2181,zknode2:2181,zknode3:2181” -f
我基於 solr 而不是 cloud 上的現有配置創建了一個集合
solr.cmd create_collection -c mycoll -d C:\conf\mycoll\conf -n mycoll -shards 1 -replicationFactor 3
在每個 solr 節點上看到創建的 mycoll_shard1_replicaX 文件夾,其中 X 在每個節點 (1,2,3) 上發生變化。查詢所有工作,甚至數據導入,但如果我重新啟動節點,發現上面寫的問題。我在創建集合時出錯了,或者這是一個已知的錯誤?
我通過在這些模式下設置服務啟動解決了這個問題
- 動物園管理員:自動
- solr:自動(延遲啟動)
建議在 solr 嘗試初始化之前可能沒有啟動 zookeeper。使用nssm依賴可以讓solr服務依賴zookeeper服務。 https://nssm.cc/usage