Отсутствие данных в Elastisearch при записи данных с разъемом эластичного поиска-искры

Описание проблемы

У нас есть проблема с непротиворечивостью данных при хранении данных в Elasticsearch с использованием Spark и эластичного соединителя поиска искры. Задание успешно завершается, но когда мы сравниваем исходные данные (хранящиеся в S3) с данными, хранящимися в ES, некоторые документы отсутствуют в Elasticsearch.

Действия по воспроизведению

Эта проблема не всегда возникает, и, к сожалению, мы не можем воспроизвести ее по требованию. Единственный обнаруженный нами индикатор, который коррелирует с появлением этой ошибки, - это наличие сбойной стадии при сохранении данных в Elasticsearch. Задания, которые имеют этот этап сбоя, в конечном итоге успешно завершаются, но данные противоречивы.

Мы используем следующую конфигурацию:

  • Elasticsearch:
    • "es.write.operation": "index"
    • "es.nodes.discovery": "false"
    • "es.nodes.wan.only": "true"
  • Spark:
    • режим записи: "добавить"

Информация о версии

  • ОС: Amazon Linux
  • JVM: 1,8
  • Hadoop / Spark: Hadoop 2.7.3 (Amazon), Spark 2.2.0
  • ES-Hadoop: эластичный поиск-искра-20_2.11: 5.5.2
  • ES: 5.3 (Amazon Elasticsearch Service).

Вопросы

Я ищу руководство для устранения этой проблемы.

  1. Я хочу понять, почему Elasticsearch не имеет всех данных, хотя Spark говорит, что он завершил работу и сохранил данные?
  2. Что мы можем сделать, чтобы обеспечить последовательную запись данных в ES?

0 ответов

Другие вопросы по тегам