弹性搜索:拒绝连接

时间:2017-01-29 22:31:38

标签: elasticsearch

直到3天前,我的弹性搜索(本地安装)工作得很好。

今天它因连接错误而停止工作。

requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=9200): Max retries exceeded with url:

我也尝试了以下选项。

curl -XGET http://127.0.0.1:9200
curl: (7) Failed to connect to 127.0.0.1 port 9200: Connection refused

我尝试使用以下代码手动运行它并收到以下错误。

cd /usr/local/Cellar/elasticsearch/2.4.0

ElasticsearchException[failed to read [id:206, legacy:false, file:/usr/local/var/elasticsearch/elasticsearch_sam/nodes/0/_state/global-206.st]]; nested: IOException[failed to read [id:206, legacy:false, file:/usr/local/var/elasticsearch/elasticsearch_sam/nodes/0/_state/global-206.st]]; nested: CorruptStateException[Format version is not supported (resource SimpleFSIndexInput(path="/usr/local/var/elasticsearch/elasticsearch_sam/nodes/0/_state/global-206.st"))

我使用的弹性搜索版本是2.4.0,java版本是java版本" 1.8.0_101"我正在运行MAC系统

我将所有数据存储在弹性搜索中,没有任何备份。

如果有人能帮我解决这个问题,我很高兴

由于

2 个答案:

答案 0 :(得分:1)

你得到一个CorruptStateException,这意味着Elasticsearch检测到其中一个持久状态的不一致。

基本上只是识别破碎的碎片curl -XGET http://localhost:9200/_cluster/state?pretty=true > foo.json 分片将具有“INITIALIZING”状态并具有其节点ID 关联,它会让你知道被阻止的碎片在哪里。 如果您正在使用一个副本,并且另一个分片有效启动, 你可以删除包含破碎碎片的目录(你的那个) 执行检查索引的事情)它应该基于的重建自己 其他未损坏的碎片(来自另一个节点)。

答案 1 :(得分:0)

以防遇到问题的人:Guice Exception: ElasticsearchException[failed to read... Likely root cause: org.elasticsearch.gateway.CorruptStateException: Format version is not supported。只需删除/usr/local/var/elasticsearch中的所有文件夹/文件,然后该服务即应备份并运行。

希望这有帮助。