Версия Kibana : 6.0.0-beta1
Версия Elasticsearch : 6.0.0-beta1
Версия ОС сервера : Ubuntu 16.04.2 LTS
Версия браузера : Chrome 60.0.3112.90
Версия ОС браузера : Windows 10
Исходный метод установки (например, страница загрузки, yum, из источника и т. Д.) : Официальные пакеты tar.gz
Описание проблемы, включая ожидаемое и фактическое поведение :
Я использую экземпляр Elasticsearch с одним узлом, logstash и Kibana. Все работает на одном хосте в отдельных контейнерах докеров.
Если верхний водяной знак диска превышен на хосте ES, в журнале elasticsearch регистрируется следующее:
[2017-08-24T07:45:11,757][INFO ][o.e.c.r.a.DiskThresholdMonitor] [CSOifAr] rerouting shards: [high disk watermark exceeded on one or more nodes]
[2017-08-24T07:45:41,760][WARN ][o.e.c.r.a.DiskThresholdMonitor] [CSOifAr] flood stage disk watermark [95%] exceeded on [CSOifArqQK-7PBZM_keNoA][CSOifAr][/data/elasticsearch/nodes/0] free: 693.8mb[2.1%], all indice
s on this node will marked read-only
Когда это произойдет, изменения в индексе .kibana
, конечно же, не будут выполнены, поскольку в индекс нельзя записать. Это можно увидеть, пытаясь изменить любой параметр в _Management _-> _ Advanced Settings_, где изменение, например, _ search: queryLanguage_ завершается ошибкой с сообщением Config: Error 403 Forbidden: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
Если теперь доступно больше дискового пространства, ES будет регистрировать, что узел перешел под высокий уровень:
[2017-08-24T07:47:11,774][INFO ][o.e.c.r.a.DiskThresholdMonitor] [CSOifAr] rerouting shards: [one or more nodes has gone under the high or low watermark]
Теперь можно было бы предположить, что можно было бы внести изменения в настройки Kibana, но попытка изменить настройки по-прежнему терпит неудачу с сообщением об ошибке:
Config: Error 403 Forbidden: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
Шаги по воспроизведению :
fallocate -l9G largefile
)rm largefile
)Итак, как мне оправиться от этого? .kibana остается доступным только для чтения, что бы я ни делал. Я попытался сделать снимок, удалить его и восстановить из снимка - все еще только для чтения ...
Я только что столкнулся с этим на тестовой машине. Да здравствует меня, я не могу продолжать помещать данные в кластер. В конце концов мне пришлось отбросить все задействованные индексы.
Я решил проблему, удалив индекс .kibana:
удалить /.kibana/
Я теряю определенные конфигурации / визуализации / информационные панели, но он отключен.
Меня это только что ударило. Это не только Kibana, все индексы блокируются при достижении порога диска и никогда не разблокируются при освобождении места.
Чтобы разблокировать все индексы вручную:
curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Спасибо @xose , меня снова это ударило, и я смог восстановиться с помощью предложенной вами команды :)
Проблема возникла во всех индексах, а не только в одном .kibana
.
Согласно журналам ES, индексы были настроены только для чтения из-за нехватки дискового пространства на хосте elasticsearch. Я запускаю один хост с Elasticsearch, Kibana, Logstash, dockerized вместе с некоторыми другими инструментами. Поскольку эта проблема влияет на другие индексы, мы думаем, что это скорее проблема Elasticsearch, и что проблема, наблюдаемая в Kibana, является симптомом другой проблемы.
Это глупый баг. Можете ли вы пока его разблокировать? По крайней мере, вы должны отобразить предупреждение и указать возможное решение. Для меня действительно глупо заглядывать в журнал ошибок js и находить эту ветку!
@saberkun Вы можете разблокировать его, выполнив команду @xose :
curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Да.
В воскресенье, 26 ноября 2017 г., в 23:12 Аарон К. де Брюн [email protected]
написал:
@saberkun https://github.com/saberkun Вы можете разблокировать его, следуя
команда @xose https://github.com/xose опубликовала:curl -XPUT -H "Content-Type: application / json" https: // [YOUR_ELASTICSEARCH_ENDPOINT]: 9200 / _all / _settings -d '{"index.blocks.read_only_allow_delete": null}'
-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/elastic/kibana/issues/13685#issuecomment-347074533 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AEpb5RJrhqJ8fK9wxGtNvTZtomMtlqzZks5s6jbBgaJpZM4PBHOW
.
Вы можете предоставить дополнительную информацию? Вы получали ошибку при запуске команды? Индексы разблокированы, и теперь вы получаете новое сообщение об ошибке? Какие сообщения об ошибках вы видите сейчас в файлах журнала?
Спасибо. Это фиксируется командой. То есть да, я использовал его, чтобы исправить
проблема
В воскресенье, 26 ноября 2017 г., в 23:19 Аарон де Брюн [email protected]
написал:
Вы можете предоставить дополнительную информацию? Вы получали сообщение об ошибке, когда
выполняете команду? Разблокированы ли индексы, и теперь вы получаете новый
сообщение об ошибке? Какие сообщения об ошибках вы видите сейчас в файлах журнала?-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/elastic/kibana/issues/13685#issuecomment-347075205 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AEpb5Xn5uJBlzvAyXkAjRPom-OiwJ43Gks5s6jg0gaJpZM4PBHOW
.
+1
Получение этой ошибки после обновления с 5.5 до 6.0
+1
ELK 6, очищенная половина диска по-прежнему доступна только для чтения, в logstash разрешена запись снова, кибана остается доступной только для чтения
Удалось решить проблему с помощью обходного пути, предоставленного
+1, такая же ошибка у меня.
То же самое для меня. Решено решением, предоставленным @xose.
То же самое. Приветствую @xose.
Я только что обновил одноузловой кластер с 6.0.0 до 6.1.1 (как ES, так и Kibana). Когда я запустил резервное копирование сервисов, Кибана подбрасывал:
blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];
Как и в прошлый раз - мне пришлось удалить индекс .kibana
чтобы он снова заработал. Также был текущий индекс logstash, в котором один из сегментов был указан как нераспределенный. Я тоже удалил его, а затем получил обычный поток предупреждений.
У меня не закончилось место - на этой тестовой машине ~ 92 ГБ из 120 ГБ свободного места. Место хранения - ZFS, и скраб не выявил повреждения данных.
Единственные ошибки в журнале кажутся несущественными:
[2018-01-13T20:48:14,579][INFO ][o.e.n.Node ] [ripley1] stopping ...
[2018-01-13T20:48:14,597][ERROR][i.n.u.c.D.rejectedExecution] Failed to submit a listener notification task. Event loop shut down?
java.util.concurrent.RejectedExecutionException: event executor terminated
at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:821) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:327) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:320) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:746) ~[netty-common-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:760) [netty-common-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:428) [netty-common-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.DefaultPromise.setFailure(DefaultPromise.java:113) [netty-common-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.DefaultChannelPromise.setFailure(DefaultChannelPromise.java:87) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.safeExecute(AbstractChannelHandlerContext.java:1010) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:825) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1027) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:301) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at org.elasticsearch.http.netty4.Netty4HttpChannel.sendResponse(Netty4HttpChannel.java:146) [transport-netty4-6.0.0.jar:6.0.0]
at org.elasticsearch.rest.RestController$ResourceHandlingHttpChannel.sendResponse(RestController.java:491) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.rest.action.RestResponseListener.processResponse(RestResponseListener.java:37) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.rest.action.RestActionListener.onResponse(RestActionListener.java:47) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:85) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.action.support.TransportAction$1.onResponse(TransportAction.java:81) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.finishHim(TransportBulkAction.java:380) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$1.onFailure(TransportBulkAction.java:375) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:91) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase.finishAsFailed(TransportReplicationAction.java:908) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.action.support.replication.TransportReplicationAction$ReroutePhase$2.onClusterServiceClose(TransportReplicationAction.java:891) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onClusterServiceClose(ClusterStateObserver.java:310) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onClose(ClusterStateObserver.java:230) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.cluster.service.ClusterApplierService.doStop(ClusterApplierService.java:168) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:85) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.cluster.service.ClusterService.doStop(ClusterService.java:106) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:85) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.node.Node.stop(Node.java:713) [elasticsearch-6.0.0.jar:6.0.0]
at org.elasticsearch.node.Node.close(Node.java:735) [elasticsearch-6.0.0.jar:6.0.0]
at org.apache.lucene.util.IOUtils.close(IOUtils.java:89) [lucene-core-7.0.1.jar:7.0.1 8d6c3889aa543954424d8ac1dbb3f03bf207140b - sarowe - 2017-10-02 14:36:35]
at org.apache.lucene.util.IOUtils.close(IOUtils.java:76) [lucene-core-7.0.1.jar:7.0.1 8d6c3889aa543954424d8ac1dbb3f03bf207140b - sarowe - 2017-10-02 14:36:35]
at org.elasticsearch.bootstrap.Bootstrap$4.run(Bootstrap.java:185) [elasticsearch-6.0.0.jar:6.0.0]
[2018-01-13T20:48:14,692][INFO ][o.e.n.Node ] [ripley1] stopped
[2018-01-13T20:48:14,692][INFO ][o.e.n.Node ] [ripley1] closing ...
[2018-01-13T20:48:14,704][INFO ][o.e.n.Node ] [ripley1] closed
[2018-01-13T20:48:39,879][INFO ][o.e.n.Node ] [ripley1] initializing ...
[2018-01-13T20:48:40,054][INFO ][o.e.e.NodeEnvironment ] [ripley1] using [1] data paths, mounts [[/scratch/elasticsearch (scratch/elasticsearch)]], net usable_space [92.5gb], net total_space [93.6gb], types [zfs]
[2018-01-13T20:48:40,055][INFO ][o.e.e.NodeEnvironment ] [ripley1] heap size [989.8mb], compressed ordinary object pointers [true]
[2018-01-13T20:48:40,119][INFO ][o.e.n.Node ] [ripley1] node name [ripley1], node ID [TvkaGbQpR5KZ-ZScMZN6AQ]
[2018-01-13T20:48:40,119][INFO ][o.e.n.Node ] [ripley1] version[6.1.1], pid[6942], build[bd92e7f/2017-12-17T20:23:25.338Z], OS[Linux/4.10.0-38-generic/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_151/25.151-b12]
[2018-01-13T20:48:40,120][INFO ][o.e.n.Node ] [ripley1] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=/var/lib/elasticsearch, -Des.path.home=/usr/share/elasticsearch, -Des.path.conf=/etc/elasticsearch]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [aggs-matrix-stats]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [analysis-common]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [ingest-common]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [lang-expression]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [lang-mustache]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [lang-painless]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [mapper-extras]
[2018-01-13T20:48:41,315][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [parent-join]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [percolator]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [reindex]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [repository-url]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [transport-netty4]
[2018-01-13T20:48:41,320][INFO ][o.e.p.PluginsService ] [ripley1] loaded module [tribe]
[2018-01-13T20:48:41,321][INFO ][o.e.p.PluginsService ] [ripley1] no plugins loaded
[2018-01-13T20:48:43,801][INFO ][o.e.d.DiscoveryModule ] [ripley1] using discovery type [zen]
[2018-01-13T20:48:44,587][INFO ][o.e.n.Node ] [ripley1] initialized
[2018-01-13T20:48:44,587][INFO ][o.e.n.Node ] [ripley1] starting ...
[2018-01-13T20:48:44,587][INFO ][o.e.n.Node ] [ripley1] starting ...
[2018-01-13T20:48:44,759][INFO ][o.e.t.TransportService ] [ripley1] publish_address {192.168.42.40:9300}, bound_addresses {[::]:9300}
[2018-01-13T20:48:44,792][INFO ][o.e.b.BootstrapChecks ] [ripley1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2018-01-13T20:48:47,864][INFO ][o.e.c.s.MasterService ] [ripley1] zen-disco-elected-as-master ([0] nodes joined), reason: new_master {ripley1}{TvkaGbQpR5KZ-ZScMZN6AQ}{H39AkwwqS_i-fg3Gl5J8QQ}{192.168.42.40}{192.168.42.40:9300}
[2018-01-13T20:48:47,869][INFO ][o.e.c.s.ClusterApplierService] [ripley1] new_master {ripley1}{TvkaGbQpR5KZ-ZScMZN6AQ}{H39AkwwqS_i-fg3Gl5J8QQ}{192.168.42.40}{192.168.42.40:9300}, reason: apply cluster state (from master [master {ripley1}{TvkaGbQpR5KZ-ZScMZN6AQ}{H39AkwwqS_i-fg3Gl5J8QQ}{192.168.42.40}{192.168.42.40:9300} committed version [1] source [zen-disco-elected-as-master ([0] nodes joined)]])
[2018-01-13T20:48:47,884][INFO ][o.e.h.n.Netty4HttpServerTransport] [ripley1] publish_address {192.168.42.40:9200}, bound_addresses {[::]:9200}
[2018-01-13T20:48:47,884][INFO ][o.e.n.Node ] [ripley1] started
[2018-01-13T20:48:48,326][INFO ][o.e.g.GatewayService ] [ripley1] recovered [6] indices into cluster_state
[2018-01-13T20:49:01,493][INFO ][o.e.c.m.MetaDataDeleteIndexService] [ripley1] [logstash-2018.01.14/D0f_lDkSQpebPFcey6NHFw] deleting index
[2018-01-13T20:49:18,793][INFO ][o.e.c.m.MetaDataCreateIndexService] [ripley1] [logstash-2018.01.14] creating index, cause [auto(bulk api)], templates [logstash-*], shards [5]/[0], mappings []
[2018-01-13T20:49:18,937][INFO ][o.e.c.r.a.AllocationService] [ripley1] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2018.01.14][4]] ...]).
+1 такая же ошибка в 6.1.2
Это функция Elasticsearch. Согласно ошибке Elasticsearch, all indices on this node will marked read-only
.
Чтобы отменить это для индекса, вы можете установить для index.blocks.read_only_allow_delete
значение null.
Более подробную информацию об этом можно найти здесь: https://www.elastic.co/guide/en/elasticsearch/reference/current/disk-allocator.html.
К вашему сведению - для тех, кто все еще сталкивается с этим, вот быстрое однострочное исправление индексов:
curl -s -H "Content-Type: application/json" http://localhost:9200/_cat/indices | awk '{ print $3 }' | sort | xargs -L 1 -I{} curl -s -XPUT -H "Content-Type: application/json" http://localhost:9200/{}/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Он получает список всех индексов в вашем кластере, а затем для каждого из них отправляет команду, чтобы сделать его не доступным только для чтения.
К вашему сведению - для тех, кто все еще сталкивается с этим, вот быстрое однострочное исправление индексов:
curl -s -H "Content-Type: application/json" http://localhost:9200/_cat/indices | awk '{ print $3 }' | sort | xargs -L 1 -I{} curl -s -XPUT -H "Content-Type: application/json" http://localhost:9200/{}/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Он получает список всех индексов в вашем кластере, а затем для каждого из них отправляет команду, чтобы сделать его не доступным только для чтения.
Я тоже делал это, пока не нашел решение @darkpixel (https://github.com/elastic/kibana/issues/13685#issuecomment-347074533)
Вы можете сделать эту настройку для _all вместо того, чтобы переходить по одному. В моем случае это занимает довольно много времени для сотен индексов, тогда как установка «все» занимает всего несколько секунд.
curl -XPUT -H "Content-Type: application/json" https://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Я решил проблему, удалив индекс .kibana:
удалить /.kibana/
Я теряю определенные конфигурации / визуализации / информационные панели, но он отключен.
Большое спасибо за это WA. Для меня это решенная проблема.
Это сработало для меня. Обе команды были необходимы для того, чтобы кабана заработала после новой установки:
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_cluster/settings -d '{ "transient": { "cluster.routing.allocation.disk.threshold_enabled": false } }'
curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Это не потребовало удаления индекса .kibana. Теперь работает отлично!
Источник:
https://selleo.com/til/posts/esrgfyxjee-how-to-fix-elasticsearch-forbidden12index-read-only
Самый полезный комментарий
Меня это только что ударило. Это не только Kibana, все индексы блокируются при достижении порога диска и никогда не разблокируются при освобождении места.
Чтобы разблокировать все индексы вручную:
curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'