Kibana: KibanaλŠ” ES μƒμœ„ λ””μŠ€ν¬ μ›Œν„°λ§ˆν¬κ°€ 초과되고 λ‚˜μ€‘μ— μ œν•œ μ•„λž˜λ‘œ λ–¨μ–΄μ§ˆ λ•Œλ§Œ 읽기 μƒνƒœλ‘œ μœ μ§€λ©λ‹ˆλ‹€.

에 λ§Œλ“  2017λ…„ 08μ›” 24일  Β·  22μ½”λ©˜νŠΈ  Β·  좜처: elastic/kibana

Kibana 버전 : 6.0.0-beta1

Elasticsearch 버전 : 6.0.0-beta1

μ„œλ²„ OS 버전 : Ubuntu 16.04.2 LTS

λΈŒλΌμš°μ € 버전 : 크둬 60.0.3112.90

λΈŒλΌμš°μ € OS 버전 : 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 μΈλ±μŠ€μ— λŒ€ν•œ λ³€κ²½ 사항은 인덱슀λ₯Ό μ“Έ 수 μ—†κΈ° λ•Œλ¬Έμ— λ‹Ήμ—°νžˆ μ‹€νŒ¨ν•©λ‹ˆλ‹€. μ΄λŠ” _관리_->_κ³ κΈ‰ μ„€μ •_ μ•„λž˜μ—μ„œ 섀정을 λ³€κ²½ν•˜λ €κ³  ν•˜λ©΄ κ΄€μ°°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ _ search:queryLanguage_ 변경은 Config: Error 403 Forbidden: blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]; λ©”μ‹œμ§€μ™€ ν•¨κ»˜ μ‹€νŒ¨ν•©λ‹ˆλ‹€.

index_read_only

이제 더 λ§Žμ€ λ””μŠ€ν¬ 곡간을 μ‚¬μš©ν•  수 있게 되면 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)];

μž¬ν˜„ 단계 :

  1. μ„€μ • 변경이 였λ₯˜ 없이 μˆ˜ν–‰λ  수 μžˆλŠ”μ§€ 확인
  2. μƒμœ„ λ””μŠ€ν¬ μ›Œν„°λ§ˆν¬λ₯Ό μ΄ˆκ³Όν•˜λ„λ‘ Elasticsearch 데이터 λ””μŠ€ν¬λ₯Ό μ±„μ›λ‹ˆλ‹€( fallocate -l9G largefile ).
  3. ES λ‘œκ·Έμ—μ„œ μƒμœ„ λ””μŠ€ν¬ μ›Œν„°λ§ˆν¬κ°€ μ΄ˆκ³Όλ˜μ—ˆκ³  μΈλ±μŠ€κ°€ 읽기 μ „μš©μœΌλ‘œ ν‘œμ‹œλ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.
  4. μ“°κΈ°κ°€ κΈˆμ§€λ˜μ–΄ μžˆμœΌλ―€λ‘œ μ„€μ • 변경을 μˆ˜ν–‰ν•˜κ³  μ‹€νŒ¨ν•˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.
  5. 높은 λ””μŠ€ν¬ μ›Œν„°λ§ˆν¬ 쑰건을 ν•΄κ²°ν•©λ‹ˆλ‹€( rm largefile ).
  6. ES λ‘œκ·Έμ— λ…Έλ“œκ°€ μƒμœ„ λ””μŠ€ν¬ μ›Œν„°λ§ˆν¬ μ•„λž˜μ— μžˆλ‹€κ³  λͺ…μ‹œλ˜μ–΄ μžˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€(κ·Έλž˜μ„œ μ“°κΈ°κ°€ κ°€λŠ₯ν•΄μ•Ό ν•©λ‹ˆκΉŒ?).
  7. μ„€μ • 변경을 μˆ˜ν–‰ν•˜λ©΄ μ‹€μ œλ‘œ 성곡해야 ν•  λ•Œ μ‹€νŒ¨ν•©λ‹ˆλ‹€.
Pioneer Program Operations

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

방금 이것에 λ§žμ•˜μŠ΅λ‹ˆλ‹€. Kibana뿐만 μ•„λ‹ˆλΌ λ””μŠ€ν¬ μž„κ³„κ°’μ— λ„λ‹¬ν•˜λ©΄ λͺ¨λ“  μΈλ±μŠ€κ°€ 잠기고 곡간이 ν™•λ³΄λ˜λ©΄ 잠금 ν•΄μ œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  인덱슀λ₯Ό μˆ˜λ™μœΌλ‘œ 잠금 ν•΄μ œν•˜λ €λ©΄:

curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

λͺ¨λ“  22 λŒ“κΈ€

그러면 μ–΄λ–»κ²Œ 볡ꡬ할 수 μžˆμŠ΅λ‹ˆκΉŒ? .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κ°€ λ‹€λ₯Έ 도ꡬ와 ν•¨κ»˜ λ„μ»€ν™”λœ 단일 호슀트λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. 이 λ¬Έμ œλŠ” λ‹€λ₯Έ μΈλ±μŠ€μ— 영ν–₯을 λ―ΈμΉ˜λ―€λ‘œ 이것은 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}'

그래, λ‚΄κ°€ ν–ˆμ–΄.

2017λ…„ 11μ›” 26일 μΌμš”μΌ μ˜€ν›„ 11:12 Aaron C. de Bruyn [email protected]
썼닀:

@saberkun https://github.com/saberkun λ‹€μŒμ„ 톡해 ν•΄μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
@xose https://github.com/xose λͺ…령이 κ²Œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

curl -XPUT -H "μ½˜ν…μΈ  μœ ν˜•: μ• ν”Œλ¦¬μΌ€μ΄μ…˜/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
.

μΆ”κ°€ 정보λ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? λͺ…령을 μ‹€ν–‰ν•  λ•Œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆκΉŒ? μΈλ±μŠ€κ°€ 잠금 ν•΄μ œλ˜μ—ˆκ³  이제 μƒˆλ‘œμš΄ 였λ₯˜ λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ©λ‹ˆκΉŒ? μ§€κΈˆ 둜그 νŒŒμΌμ— μ–΄λ–€ 였λ₯˜ λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ©λ‹ˆκΉŒ?

감사 ν•΄μš”. λͺ…λ ΉμœΌλ‘œ κ³ μ •λ©λ‹ˆλ‹€. λ‚΄ 말은 예, μˆ˜μ •ν•˜λŠ” 데 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.
문제

2017λ…„ 11μ›” 26일 μΌμš”μΌ μ˜€ν›„ 11:19 Aaron C. de Bruyn [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λŠ” λ‹€μ‹œ μ“°κΈ°κ°€ ν—ˆμš©λ¨, kibanaλŠ” 읽기 μ „μš©μœΌλ‘œ μœ μ§€λ¨

@xoseμ—μ„œ μ œκ³΅ν•˜λŠ” ν•΄κ²° λ°©λ²•μœΌλ‘œ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

+1, λ‚˜μ™€ 같은 였λ₯˜μž…λ‹ˆλ‹€.

μ €μ—κ²Œλ„ 같은 λ¬Έμ œμž…λ‹ˆλ‹€. @xoseκ°€ μ œκ³΅ν•œ μ†”λ£¨μ…˜μœΌλ‘œ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

여기도 λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€. @xose λ§Œμ„Έ.

방금 단일 λ…Έλ“œ ν΄λŸ¬μŠ€ν„°λ₯Ό 6.0.0μ—μ„œ 6.1.1(ES 및 Kibana λͺ¨λ‘)둜 μ—…κ·Έλ ˆμ΄λ“œν–ˆμŠ΅λ‹ˆλ‹€. μ„œλΉ„μŠ€ 백업을 μ‹œμž‘ν–ˆμ„ λ•Œ KibanaλŠ” λ‹€μŒμ„ λ˜μ‘ŒμŠ΅λ‹ˆλ‹€.

blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];

μ§€λ‚œλ²ˆκ³Ό λ™μΌν•˜κ²Œ -- .kibana 인덱슀λ₯Ό μ‚­μ œν•΄μ•Ό λ°±μ—… 및 진행이 κ°€λŠ₯ν•©λ‹ˆλ‹€. μƒ€λ“œ 쀑 ν•˜λ‚˜κ°€ ν• λ‹Ήλ˜μ§€ μ•Šμ€ κ²ƒμœΌλ‘œ λ‚˜μ—΄λœ ν˜„μž¬ logstash μΈλ±μŠ€λ„ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ˜ν•œ 그것을 μ‚­μ œ ν•œ λ‹€μŒ 일반적인 경고의 ν™μˆ˜λ₯Ό λ°›μ•˜μŠ΅λ‹ˆλ‹€.

곡간이 λΆ€μ‘±ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 ν…ŒμŠ€νŠΈ μ‹œμŠ€ν…œμ—λŠ” 120GB 쀑 ~92GB의 μ—¬μœ  곡간이 μžˆμŠ΅λ‹ˆλ‹€. μ €μž₯ μœ„μΉ˜λŠ” 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에 λŒ€ν•΄ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€. 그것은 λ‚˜λ₯Ό μœ„ν•΄ ν•΄κ²° 된 λ¬Έμ œμž…λ‹ˆλ‹€.

이것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€. μƒˆλ‘œ μ„€μΉ˜ν•œ ν›„ kabanaκ°€ μž‘λ™ν•˜λ„λ‘ ν•˜λ €λ©΄ 두 λͺ…령이 λͺ¨λ‘ ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€.

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

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰