我在ubuntu中使用deb檔案安裝了elasticsearch.90.7。我嘗試使用以下命令卸載elasticsearch.90.7:
sudo apt-get --purge autoremove elasticsearch
然後我下載elasticsearch-1.6.0.deb
安裝elasticsearch 1.6。
當我執行此命令透過 deb 檔案安裝 elasticsearch 1.6 時:
dpkg -i elasticsearch-1.6.0.deb
它向我展示了這一點:
Selecting previously unselected package elasticsearch.
(Reading database ... 89826 files and directories currently installed.)
Preparing to unpack elasticsearch-1.6.0.deb ...
Creating elasticsearch group... OK
Creating elasticsearch user... OK
Unpacking elasticsearch (1.6.0) ...
Setting up elasticsearch (1.6.0) ...
Processing triggers for ureadahead (0.100.0-16) ...
當我啟動 elasticsearch 時,service elasticsearch start
它正在啟動,但是當我執行此命令時:curl http://localhost:9200
它顯示此錯誤:
curl: (7) Failed to connect to localhost port 9200: Connection refused
我認為elasticsearch沒有正確安裝。我想知道我應該做什麼才能正確安裝elasticsearch。
答案1
(1) 刪除先前版本的ElasticSearch:
sudo apt-get --purge autoremove elasticsearch
(2) 刪除ElasticSearch目錄:
sudo rm -rf /var/lib/elasticsearch/
sudo rm -rf /etc/elasticsearch
(3)安裝ElasticSearch 1.6:
sudo dpkg -i elasticsearch-1.6.0.deb
(4)啟動服務:
sudo service elasticsearch start
(5)測試是否有效:
sudo service elasticsearch status
curl -XGET "http://localhost:9200/_cluster/health?pretty=true"
curl "localhost:9200/_nodes/settings?pretty=true"
答案2
您似乎已正確安裝/更新了 ElasticSearch,並且它似乎正在運行。您無需重新安裝它。
可能是您的 CURL 指令不完整。試試這個:
curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
您應該收到一個 json 回應,如下所示:
{
"cluster_name" : "your_clusters_name",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0
}
答案3
不要使用 啟動elasticsearch,而是service elasticsearch start
嘗試使用以下命令啟動它:
sudo /usr/share/elasticsearch/bin/elasticsearch --default.config=/etc/elasticsearch/elasticsearch.yml --default.path.home=/usr/share/elasticsearch --default.path.logs=/var/log/elasticsearch --default.path.data=/var/lib/elasticsearch --default.path.work=/tmp/elasticsearch --default.path.conf=/etc/elasticsearch
看看應用程式的輸出是否為您提供了有關出現問題的建議...
在這裡發布輸出可以幫助我們找到問題的根源。
答案4
“sudo服務彈性搜尋啟動
elasticsearch:無法辨識的服務”
我的 ElasticSearch 安裝已損壞。
我刪除並重新安裝了 ElasticSearch,如(刪除先前版本的 ElasticSearch:)中所述
問題解決了,祝好運