MeWrite Docs

Elasticsearch: ConnectionError

Elasticsearch接続エラーの解決方法

概要

Elasticsearchクラスターへの接続に失敗した場合に発生するエラーです。

エラーメッセージ

ConnectionError: Connection error caused by: ConnectionError(Connection refused)

原因

  1. Elasticsearchが起動していない: サービス停止
  2. ヒープメモリ不足: JVMメモリ設定が不適切
  3. クラスター設定: network.hostの設定
  4. 認証設定: X-Packセキュリティ

解決策

1. サービス確認

1
2
sudo systemctl status elasticsearch
curl -X GET "localhost:9200"

2. JVMヒープ設定

1
2
3
# /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g

3. Python接続

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from elasticsearch import Elasticsearch

es = Elasticsearch(
    ['http://localhost:9200'],
    retry_on_timeout=True,
    max_retries=3
)

if es.ping():
    print("Connected")

4. Node.js接続

1
2
3
4
5
6
7
const { Client } = require('@elastic/elasticsearch');

const client = new Client({
  node: 'http://localhost:9200',
  maxRetries: 5,
  requestTimeout: 60000
});

よくある間違い

  • ヒープサイズを物理メモリの50%以上に設定
  • discovery.type: single-nodeの設定忘れ

Elasticsearch の他のエラー

最終更新: 2025-12-09