主页

elasticsearch 导入数据,警告说:WARNING:elastic_transport.node_pool:Node <Urllib3HttpNode(http://localhost:9200)> has failed for 20 times in a row, putting on 30 second timeout

2025-04-05 10:52AM

我的 elasticsearch 运行在 docker 中,并且遇到了:WARNING:elastic_transport.node_pool:Node <Urllib3HttpNode(http://localhost:9200)> has failed for 20 times in a row, putting on 30 second timeout,

这个警告表明 Elasticsearch 客户端(如 elasticsearch-py)无法连接到 http://localhost:9200,并且已经连续失败了 20 次,导致客户端暂时将该节点标记为不可用(30 秒超时)

原因可能是因为JVM 内存不足、配置错误或容器资源限制导致。

下面是解决方法:

1. 调整 JVM 内存

elasticsearch 默认分配 1GB 堆内存,我的docker环境配置只有 1.5 GB,所以可以调整为物理内存的50%(但不要超过32GB)

修改 docker-compose.yml 文件:

environment:
  - "ES_JAVA_OPTS=-Xms4g -Xmx4g"  # 调整为 4GB(根据服务器内存修改)

2. 重启容器:

$ docker-compose down && docker-compose up -d

这样就再重新导入数据,就可以啦~

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论