elasticsearch.bat 実行時エラー
学習用に elasticsearchプロセスの2つ目を実行した際に、以下のエラーが出た。
> elasticsearch.bat ... 「IlleagalException: failed to obtain node locks, tried [[C:\temp\elasticsearch-6.2.3\data\elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?」 ...
対処
node.max_local_storage_nodesについて
エラーメッセージにある「node.max_local_storage_nodes」を調べてみる。 www.elastic.co
node.max_local_storage_nodes の説明
data pathは、複数のノードで共有される、異なるクラスタのノードでもね。 これは、開発マシンでのフェールオーバーや異なる設定をテストするのにとても役立つ。 しかし、商用では、サーバごとにElasticsearchノードを1つにすることを推奨する。
デフォルトでは、Elasticsearchは、同じdata pathを共有することからノードが1つ以上になることを避けるように設定されている。 1つ以上のノードを許容するには、node.max_local_storage_nodesの設定を1より大きい自然数(a positive integer)にする。
パラメータを設定して起動
> elasticsearch.bat -Enode.max_local_storage_nodes=2 ...
起動できました