【问题标题】:Failed to run elasticsearch --version commandelasticsearch --version 命令运行失败
【发布时间】:2018-06-08 18:58:18
【问题描述】:

Elasticsearch 版本 - 5.5.1, Java 版本 - 8-u131

当我运行 elasticsearch version 命令(或 elasticsearch-plugin install)时,它不显示版本,而是显示此堆栈跟踪:

>./elasticsearch --version
Exception in thread "main" java.lang.IllegalArgumentException: Invalid Configuration class specified
    at org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:198)
    at org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:159)
    at org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:55)
    at org.elasticsearch.common.logging.LogConfigurator.configureStatusLogger(LogConfigurator.java:175)
    at org.elasticsearch.common.logging.LogConfigurator.configureWithoutConfig(LogConfigurator.java:99)
    at org.elasticsearch.cli.Command.main(Command.java:85)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:170)
    ... 7 more
Caused by: java.lang.NoSuchMethodError: org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(Lorg/apache/logging/log4j/core/LoggerContext;Lorg/apache/logging/log4j/core/config/ConfigurationSource;)V
    at org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration.<init>(BuiltConfiguration.java:58)
    ... 12 more

这似乎是使用 elasticsearch 5.5.1 rpm 打包的 log4j jar 版本丢失/不正确的情况。

【问题讨论】:

    标签: java elasticsearch elasticsearch-plugin


    【解决方案1】:

    它随 2.9.1 一起提供,而缺少的方法出现在 2.7.x 中。你对 zip 版本有同样的例外吗?您可能想在elasticsearch 脚本文件中添加set -x 作为第二行并检查-cp "$ES_CLASSPATH" 中传递的内容 - 也许它会从其他路径中提取一些旧罐子。

    【讨论】:

    • 感谢您的回复。 5.5.1 zip 附带 2.8.2 版本的 log4J jar。我用 set -x 进行了验证,它正在从 lib 目录中提取所有 jar。令我惊讶的是,这适用于少数机器,并且在少数其他机器上的行为如上所述。
    猜你喜欢
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2019-05-28
    • 2016-12-11
    • 2020-03-21
    相关资源
    最近更新 更多