ElasticSearch 5.6 无法在 Mac OS 上启动
ElasticSearch 5.6 cannot start on Mac OS
使用 Brew 安装后,我无法在 Mac 上启动 ElasticSearch 5.6 服务器。收到此错误:
$ /usr/local/opt/elasticsearch@5.6/bin/elasticsearch
Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: org.apache.lucene.index.IndexFormatTooNewException: Format version is not supported (resource BufferedChecksumIndexInput(SimpleFSIndexInput(path="/usr/local/etc/elasticsearch/elasticsearch.keystore"))): 3 (needs to be between 1 and 2)
Likely root cause: org.apache.lucene.index.IndexFormatTooNewException: Format version is not supported (resource BufferedChecksumIndexInput(SimpleFSIndexInput(path="/usr/local/etc/elasticsearch/elasticsearch.keystore"))): 3 (needs to be between 1 and 2)
at org.apache.lucene.codecs.CodecUtil.checkHeaderNoMagic(CodecUtil.java:216)
at org.apache.lucene.codecs.CodecUtil.checkHeader(CodecUtil.java:198)
at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:175)
at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:246)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:304)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84)
Refer to the log for complete error details.
由于它不是最新版本的 ElasticSearch,我想它安装了一些不兼容的包版本,但不确定具体是什么包。
任何人都可以帮助它工作吗?
服务器很可能正在尝试读取更新的索引 (org.apache.lucene.index.IndexFormatTooNewException
)。
很可能唯一的方法是完全摆脱它:
sudo rm -rf /usr/local/var/lib/elasticsearch
请仔细检查索引并确保您不再需要旧的 6.* 索引,因为您显然会丢失它。
我刚遇到同样的问题,重新生成密钥库解决了我的问题。以下是我采取的步骤:
备份现有密钥库:
cd /usr/local/etc/elasticsearch/
mv elasticsearch.keystore elasticsearch.keystore.old
生成新的密钥库:
cd /usr/local/Cellar/elasticsearch@5.6/5.6.15/libexec/bin/
elasticsearch-keystore create
提供的答案是正确的,但我想补充一点,您可以在删除密钥文件后(重新)启动 elasticsearch。它将检测到该文件不存在并尝试自动生成一个新的 .keystore
文件。无需单独 运行 elasticsearch-keystore create
命令。
使用 Brew 安装后,我无法在 Mac 上启动 ElasticSearch 5.6 服务器。收到此错误:
$ /usr/local/opt/elasticsearch@5.6/bin/elasticsearch
Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: org.apache.lucene.index.IndexFormatTooNewException: Format version is not supported (resource BufferedChecksumIndexInput(SimpleFSIndexInput(path="/usr/local/etc/elasticsearch/elasticsearch.keystore"))): 3 (needs to be between 1 and 2)
Likely root cause: org.apache.lucene.index.IndexFormatTooNewException: Format version is not supported (resource BufferedChecksumIndexInput(SimpleFSIndexInput(path="/usr/local/etc/elasticsearch/elasticsearch.keystore"))): 3 (needs to be between 1 and 2)
at org.apache.lucene.codecs.CodecUtil.checkHeaderNoMagic(CodecUtil.java:216)
at org.apache.lucene.codecs.CodecUtil.checkHeader(CodecUtil.java:198)
at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:175)
at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:246)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:304)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84)
Refer to the log for complete error details.
由于它不是最新版本的 ElasticSearch,我想它安装了一些不兼容的包版本,但不确定具体是什么包。
任何人都可以帮助它工作吗?
服务器很可能正在尝试读取更新的索引 (org.apache.lucene.index.IndexFormatTooNewException
)。
很可能唯一的方法是完全摆脱它:
sudo rm -rf /usr/local/var/lib/elasticsearch
请仔细检查索引并确保您不再需要旧的 6.* 索引,因为您显然会丢失它。
我刚遇到同样的问题,重新生成密钥库解决了我的问题。以下是我采取的步骤:
备份现有密钥库:
cd /usr/local/etc/elasticsearch/
mv elasticsearch.keystore elasticsearch.keystore.old
生成新的密钥库:
cd /usr/local/Cellar/elasticsearch@5.6/5.6.15/libexec/bin/
elasticsearch-keystore create
提供的答案是正确的,但我想补充一点,您可以在删除密钥文件后(重新)启动 elasticsearch。它将检测到该文件不存在并尝试自动生成一个新的 .keystore
文件。无需单独 运行 elasticsearch-keystore create
命令。