Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 14418|Ответ: 2

Состояние кластера Elasticsearch(ES): красный Анализ сбоев

[Скопировать ссылку]
Опубликовано 27.01.2021 23:08:07 | | | |
Используя панель elasticsearch-head для подключения к Elasticsearch(ES), я обнаружил следующую ошибку:

Кластерное здоровье: красный (24 из 31)


Чтобы просмотреть информацию о статусе, посетите:Вход по гиперссылке виден.

{
  "cluster_name" : "elasticsearch",
  «статус»: «красный»,
  "timed_out" : ложно,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 24,
  "active_shards" : 24,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 7,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 77.41935483870968
}
«Статус»: «красный»Статус — пусто

Плагин головы будет отображаться в разных цветах

1) Зелёный — самое здоровое состояние, то есть доступны все первичные и реплики осколков;
2) Жёлтый — все основные осколки доступны, но некоторые реплики отсутствуют;
3) Красный — некоторые основные осколки недоступны. (На данный момент некоторые данные всё ещё можно найти при выполнении запроса, поэтому лучше решить его быстро.) )


Чтобы увидеть статус индекса, перейдите по следующему доступу:Вход по гиперссылке виден.

.monitoring-es-6-2021.01.22 0 p НЕНАЗНАЧЕННЫЙ ALLOCATION_FAILED
Что такое неназначенное шардинг?

Объяснение одним предложением: Нераспределённые осколки.
При запуске ES, вы заметите, что осколки кластера будут выглядеть фиолетовыми, серыми и, наконец, зелёными после постоянного обновления через плагин Head.


Почему происходит неназначенное шардинг?

Если, например, вы не можете выделить шарды, если вы перевыделили количество реплик для количества узлов в кластере, осколки остаются НЕНАЗНАЧЕННЫМИ.
Код ошибки: ALLOCATION_FAILED.


Возможные причины проблем с неприсвоением шардинга?

1) INDEX_CREATED: Не выделено из-за API, который создал индекс.
2) CLUSTER_RECOVERED: Не выделено из-за полного восстановления кластера.
3) INDEX_REOPENED: Не распределяется из-за открытия или закрытия индекса.
4) DANGLING_INDEX_IMPORTED: Не выделено из-за результата импорта висящего индекса.
5) NEW_INDEX_RESTORED: Не выделено из-за возвращения к новому индексу.
6) EXISTING_INDEX_RESTORED: Не выделено из-за возвращения к закрытому индексу.
7) REPLICA_ADDED: Не выделено из-за явного добавления фрагментов реплики.
8) ALLOCATION_FAILED: Не выделено из-за неудачи распределения осколков.
9) NODE_LEFT: Узел, несущий осколок, покидает кластер и не выделяется.
10) ПЕРЕИНИЦИАЛИЗАЦИЯ: Из-за невыделенных осколков при переходе от начала к инициализации (например, шардинг с теневой теневой копией).
11) REROUTE_CANCELLED: Распределить местоположение в результате явной команды unresail.
12) REALLOCATED_REPLICA: Определить, что для использования откалибровано лучшее место реплики, что приведёт к отмене существующего и нераспределения копий.


Войдите на сервер и просмотрите логи Elasticsearch (ES) следующим образом:

Elasticsearch выводит много логов, все в каталоге ES_HOME/logs. Стандартный уровень логирования — INFO. Он предоставляет умеренную информацию, но предназначен для того, чтобы не перегружать ваши логи.
Вход по гиперссылке виден.



Существует большое количество ошибок, таких как:

[2021-01-21T03:33:26,435] [ПРЕДУПРЕЖДЕНИЕ] [o.e.x.m.e.l.LocalExporter] [A_OefhJ] неожиданная ошибка при индексации мониторинга, документ
org.elasticsearch.xpack.monitoring.exporter.ExportException: ClusterBlockException[blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];]
        на org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$throwExportException$2(LocalBulk.java:128) ~[?:?]
        на java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_222]
        на java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_222]
        at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948) ~[?:1.8.0_222]
        на java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_222]
        на java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_222]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_222]
        на java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_222]
        на java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_222]
        на org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.throwExportException(LocalBulk.java:129) ~[?:?]
        на org.elasticsearch.xpack.monitoring.exporter.local.LocalBulk.lambda$doFlush$0(LocalBulk.java:111) ~[?:?]
        на org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.support.ContextPreservingActionListener.onResponse(ContextPreservingActionListener.java:43) ~[elasticsearch-6.5.2.jar:6.5.2]
        На сайте org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        на сайте org.elasticsearch.action.bulk.TransportBulkAction$BulkRequestModifier.lambda$wrapActionListenerIfNeeded$0(TransportBulkAction.java:607) ~[elasticsearch-6.5.2.jar :6.5.2]
        на org.elasticsearch.action.ActionListener$1.onResponse(ActionListener.java:60) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:414) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:409) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) ~[elasticsearch-6.5.2.jar:6.5.2]
        на сайте org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:901) ~[elasticsearch-6.5.2.jar :6.5.2]
        на org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockException(TransportReplicationAction.java:824) ~[ elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:812) ~[ elasticsearch-6.5.2.jar:6.5.2]
        на сайте org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.doRun(TransportReplicationAction.java:710) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        На сайте org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        На сайте org.elasticsearch.action.support.replication.TransportReplicationAction.doExecute(TransportReplicationAction.java:97) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:167) ~[elasticsearch-6.5.2.jar:6.5.2]
        на сайте org.elasticsearch.xpack.security.action.filter.SecurityActionFilter.apply(SecurityActionFilter.java:126) ~[?:?]
        на сайте org.elasticsearch.action.support.TransportAction$RequestFilterChain.proceed(TransportAction.java:165) ~[elasticsearch-6.5.2.jar:6.5.2]
        на сайте org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:139) ~[elasticsearch-6.5.2.jar:6.5.2]
        на сайте org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:81) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:384) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:496) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.bulk.TransportBulkAction.executeIngestAndBulk(TransportBulkAction.java:243) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.bulk.TransportBulkAction.doExecute(TransportBulkAction.java:169) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.bulk.TransportBulkAction.lambda$processBulkIndexIngestRequest$4(TransportBulkAction.java:549) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.ingest.IngestService$4.doRun(IngestService.java:417) [elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:723) [elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-6.5.2.jar:6.5.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        на java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
Причина: org.elasticsearch.cluster.block.ClusterBlockException: заблокировано: [FORBIDDEN/12/index только для чтения / разрешить удаление (api)];
        на org.elasticsearch.cluster.block.ClusterBlocks.indexBlockedException(ClusterBlocks.java:183) ~[elasticsearch-6.5.2.jar:6.5.2]
        на org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.handleBlockExceptions(TransportReplicationAction.java:810) ~[ elasticsearch-6.5.2.jar:6.5.2]
        ... Ещё 21


После анализа было установлено, что это связано с тем, чтоДисковое пространство сервера, на котором находится ES, слишком мало, как только любой индекс с одним или несколькими осколками будет назначен узлу на диске, который хранит более 95% данных, индекс переключается в режим только чтения.

CentOS считает размер каждой папки и ищет крупные файлы
https://www.itsvse.com/thread-9542-1-1.html
Просмотрите всю информацию о настройках индекса, чтобы посетить:Вход по гиперссылке виден., как показано на рисунке ниже:



«знание» : {
    "настройки" : {
      "index" : {
        "number_of_shards" : "3",
        "blocks" : {
          "read_only_allow_delete" : "true"
        },
        «provided_name» : «знание»,
        "creation_date" : "1576206251443",
        "number_of_replicas" : "0",
        "uuid" : "yeSIP_otQo6JQ8ooRdr8hA",
        "версия" : {
          «создан» : «6050299»
        }
      }
    }
  }
read_only_allow_deleteКогда этот атрибут верен, индекс ES разрешает только чтение и удаление данных и не позволяет добавлять или изменять данные


решение

После решения проблемы с диском разверните или удалите нежелательные файлы, следуйте инструкции ниже.

Установите read_only_allow_delete на false

Отправьте запрос на put через elasticsearch-head:Вход по гиперссылке виден., как показано на рисунке ниже:

{
«Подтверждено»: верно
}





Это всё равно не может избавиться от состояния здоровья Реда,Удалить данные «.monitoring-es-6-*» напрямую, состояние становится здоровым, как показано на рисунке ниже:



(Конец)




Предыдущий:CentOS считает размер каждой папки и ищет крупные файлы
Следующий:Состояние кластера Elasticsearch(ES): жёлтый (6 из 7) статус
 Хозяин| Опубликовано 15.06.2021 11:22:58 |
-- Просмотр всех статусов индексов

Вход по гиперссылке виден.

-- Просмотр индексов с красным статусом
Вход по гиперссылке виден.

Документация:Вход по гиперссылке виден.

 Хозяин| Опубликовано 17.04.2023 12:32 |
Elasticsearch (ES) не записывает данные в решение неисправности
https://www.itsvse.com/thread-10568-1-1.html
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com