Node.js中的Elasticsearch连接时没有活动连接错误
连接elasticsearch连接时出现此问题。
var elasticsearch = require('elasticsearch');var client = new elasticsearch.Client({ host: 'localhost:9200',
log: 'trace'});
Elasticsearch错误:2016-07-19T19:09:26Z
错误:请求错误,正在重试-连接ECONNREFUSED 127.0.0.1:9200
在Log.error(/root/git_build/FirstMoveChess/node_modules/elasticsearch/src/lib/log.js:225:56)
在checkRespForFailure(/root/git_build/FirstMoveChess/node_modules/elasticsearch/src/lib/transport.js:195:18)
在HttpConnector上。(/root/git_build/FirstMoveChess/node_modules/elasticsearch/src/lib/connectors/http.js:154:7)
在ClientRequest.bound(/root/git_build/FirstMoveChess/node_modules/lodash-node/modern/internals/baseBind.js:56:17)
在emitOne处(events.js:96:13)
在ClientRequest.emit(events.js:188:7)
在Socket.socketErrorListener(_http_client.js:308:9)
在emitOne处(events.js:96:13)
在Socket.emit(events.js:188:7)
在emitErrorNT(net.js:1272:8)
在_combinedTickCallback(内部/进程/next_tick.js:74:11)
在process._tickCallback(内部/进程/next_tick.js:98:9)
Elasticsearch跟踪:2016-07-19T19:09:27Z
-> HEAD http:// localhost:9200 /
回答:
我知道这个问题已经很久了,但是我想分享一下如何解决这个问题。
- 如果您在本地使用elasticsearch
您必须做的第一件事是在计算机上运行elasticsearch。
Error: Request error, retrying -- connect ECONNREFUSED 127.0.0.1:9200
因为上面的消息表明您不在本地运行elasticsearch。
因此,请访问链接并按照指示进行操作。
- Docker环境
这里变得更加棘手。
首先,请按照此处的说明进行操作。
如果您使用的是node.js elasticsearch客户端,则必须指定elasticsearch host
为172.24.0.1
。
如果您使用container_name
或private IP
的container
的docker-compose.yml
,它不会工作。
以上是 Node.js中的Elasticsearch连接时没有活动连接错误 的全部内容, 来源链接: utcz.com/qa/407410.html