先日 Elasticsearch を 1.7.5 から 2.3.3 に、Kibana を 4.1.2 から 4.5.1 にアップデートしました。
現在のところ、Kibana にアクセスすると
plugin:elasticsearch: Elasticsearch is still initializing the kibana index.
とのエラーが発生しており、馴染みの画面に進めません。
どんな原因が考えられるでしょうか?
状態としては以下になります。
$ curl 'http://localhost:9200/_cluster/health?pretty'
{
"cluster_name" : "masutaka_net",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 2550,
"active_shards" : 2550,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 2552,
"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" : 49.98039984319875
}
以下、アップデートで行ったことです(長文です)。
Elasticsearch はさくらの VPS 上で稼働しており、メモリは 2G です。Kibana も同一ホスト上にあります。
はじめ、以下のドキュメントを参照し、不要な設定を削除しました。
実際の差分は以下になります。Kibana の設定はデフォルトです。何も設定していません。
cluster.name: masutaka_net
node.name: "Masutaka Net"
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["localhost"]
http.cors.enabled: true
↓
cluster.name: masutaka_net
node.name: "Masutaka Net"
discovery.zen.ping.unicast.hosts: ["localhost"]
discovery.zen.minimum_master_nodes: 1
Elasticsearch は停止しても構わないため、apt の source.list を 2.x 系に変更し $ apt-get update && apt-get upgrade
しました。
Elasticsearch 自体は以下のようなログを多く出しながらも、最終的に $ curl localhost:9200
で応答が返ることを確認しました。
[2016-06-13 23:21:33,840][WARN ][cluster.metadata ] [Masutaka Net] [index-name-2016.02.14] re-syncing mappings with cluster state because of types [[type-name]]
Kibana-4.5.1 をダウンロードして起動したところ、以下のエラーが発生。
$ ./bin/kibana
log [23:28:28.298] [info][status][plugin:kibana] Status changed from uninitialized to green - Ready
log [23:28:28.412] [info][status][plugin:elasticsearch] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [23:28:28.456] [info][status][plugin:kbn_vislib_vis_types] Status changed from uninitialized to green - Ready
log [23:28:28.478] [info][status][plugin:markdown_vis] Status changed from uninitialized to green - Ready
log [23:28:28.492] [info][status][plugin:metric_vis] Status changed from uninitialized to green - Ready
log [23:28:28.530] [info][status][plugin:spyModes] Status changed from uninitialized to green - Ready
log [23:28:28.555] [info][status][plugin:statusPage] Status changed from uninitialized to green - Ready
log [23:28:28.570] [info][status][plugin:table_vis] Status changed from uninitialized to green - Ready
log [23:28:28.616] [fatal] Error: listen EADDRINUSE 0.0.0.0:5601
at Object.exports._errnoException (util.js:870:11)
at exports._exceptionWithHostPort (util.js:893:20)
at Server._listen2 (net.js:1234:14)
at listen (net.js:1270:10)
at net.js:1379:9
at nextTickCallbackWith3Args (node.js:453:9)
at process._tickDomainCallback (node.js:400:17)
FATAL { [Error: listen EADDRINUSE 0.0.0.0:5601]
cause:
{ [Error: listen EADDRINUSE 0.0.0.0:5601]
code: 'EADDRINUSE',
errno: 'EADDRINUSE',
syscall: 'listen',
address: '0.0.0.0',
port: 5601 },
isOperational: true,
code: 'EADDRINUSE',
errno: 'EADDRINUSE',
syscall: 'listen',
address: '0.0.0.0',
port: 5601 }
Redirecting to Google Groups を見つけ、delete-by-query をインストール(元々インストールされてなかった)。 http.cors.enabled: true
も設定したところ、表題の現象になりました。この辺、どちら要因かの切り分けは出来ていません。
それでもダメなので、Kibana のダッシュボードが消えることを覚悟して、$ curl -XDELETE http://localhost:9200/.kibana
を実行したが、変化なし。 Elasticsearch is still initializing the kibana index - Stack Overflow を参考にしました。