首页 文章

没有生命连接在nodejs中的Elasticsearch连接时出错

提问于
浏览
6

连接elasticsearch连接时遇到此问题 .

var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({ host: 'localhost:9200',
                                       log: 'trace'});
Elasticsearch ERROR: 2016-07-19T19:09:26Z
  Error: Request error, retrying -- connect ECONNREFUSED 127.0.0.1:9200
      at Log.error (/root/git_build/FirstMoveChess/node_modules/elasticsearch/src/lib/log.js:225:56)
      at checkRespForFailure (/root/git_build/FirstMoveChess/node_modules/elasticsearch/src/lib/transport.js:195:18)
      at HttpConnector. (/root/git_build/FirstMoveChess/node_modules/elasticsearch/src/lib/connectors/http.js:154:7)
      at ClientRequest.bound (/root/git_build/FirstMoveChess/node_modules/lodash-node/modern/internals/baseBind.js:56:17)
      at emitOne (events.js:96:13)
      at ClientRequest.emit (events.js:188:7)
      at Socket.socketErrorListener (_http_client.js:308:9)
      at emitOne (events.js:96:13)
      at Socket.emit (events.js:188:7)
      at emitErrorNT (net.js:1272:8)
      at _combinedTickCallback (internal/process/next_tick.js:74:11)
      at process._tickCallback (internal/process/next_tick.js:98:9)

Elasticsearch TRACE: 2016-07-19T19:09:27Z
  -> HEAD http://localhost:9200/

1 回答

  • 1

    我知道这个问题很老,但我想分享一下如何解决这个问题 .

    • 如果您在本地使用elasticsearch

    您必须做的第一件事是在您的机器上运行elasticsearch .

    Error: Request error, retrying -- connect ECONNREFUSED 127.0.0.1:9200
    

    因为上面的消息表明您没有在本地运行elasticsearch .

    所以,访问link并按照行为进行操作 .

    • Docker环境

    这里变得更加棘手 .

    首先,按照说明here .

    如果您使用的是node.js elasticsearch客户端,则必须将 elasticsearch host 指定为 172.24.0.1 .

    如果在 docker-compose.yml 中使用 container_name 或_16602010_,则无效 .

相关问题