0

x-packが有効でエラーなしで起動するelasticsearchサーバー(6.8.0)に接続しようとしています。Web ページ ( https://www.elastic.co/guide/en/elastic-stack-overview/6.7/java-clients.html )の手順に従って Java コードに接続しようとすると、以下の例外が発生します。

原因: org.elasticsearch.ElasticsearchException: 失敗... 原因: org.elasticsearch.ElasticsearchException: org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java :384) ~[elasticsearch-5.3.0.jar:5.3.0] at org.elasticsearch.plugins.PluginsService.(PluginsService.java:104) ~[elasticsearch-5.3.0.jar:5.3.0] at org. elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:101) ~[elasticsearch-5.3.0.jar:5.3.0] org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:126) で ~ [elasticsearch-5.3.0.jar:5.3.0] at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:268) ~[elasticsearch-5.3.0.jar:5.3.0] at org.elasticsearch. transport.client.PreBuiltTransportClient.(PreBuiltTransportClient.java:128) ~[transport-6.2.4.jar:6.2.4] org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:55) で ~[x-pack-transport-5.4.3 .jar:5.4.3] at org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:50) ~[x-pack-transport-5.4.3.jar:5.4.3] at org.elasticsearch.xpack. client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:46) ~[x-pack-transport-5.4.3.jar:5.4.3] com.mastercard.customer.data.management.navigator.bff.config.ElasticSearchConfig.client( ElasticSearchConfig.java:56) ~[classes/:na] at com.mastercard.customer.data.management.navigator.bff.config.ElasticSearchConfig$$EnhancerBySpringCGLIB$$f999e02c.CGLIB$client$2() ~[classes/:na] ] com.mastercard.customer.data.management.navigator.bff.config.ElasticSearchConfig$$EnhancerBySpringCGLIB$$f999e02c$$FastClassBySpringCGLIB$$d904a6aa.invoke() ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.1 .6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363) ~[spring-context-5.1.6.RELEASE.jar:5.1. 6.RELEASE] at com.mastercard.customer.data.management.navigator.bff.config.ElasticSearchConfig$$EnhancerBySpringCGLIB$$f999e02c.client() ~[classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method ) ~[na:1.8.0_162] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_162] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_162] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_162] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate( SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE]

複数のソースで検索した場合
https://discuss.elastic.co/t/failed-to-load-plugin-class-org-elasticsearch-xpack-xpackplugin/183299

https://discuss.elastic.co/t/elasticsearch-doesnt-start-anymore-after-x-pack-settings/119200

さらに多くの人が、このクラスが x-pack-api-5.4.3,jar から来ていることを理解し、逆コンパイラでこの jar を開こうとしても何もわかりません。添付画像。同じjarの別のバージョンも試してみましたが、同じ問題が発生しました。

ここに画像の説明を入力

使用する依存関係は次のとおりです。

    <!-- Start x-pack -->
    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>
        <!-- <version>6.2.4</version> -->
        <version>5.4.3</version>
    </dependency>

    <dependency>
     <groupId>org.elasticsearch.client</groupId>
     <artifactId>x-pack-transport</artifactId>
      <version>5.4.3</version>
  </dependency>

<dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>5.3.0</version>
    </dependency>



<dependency>
        <groupId>com.unboundid</groupId>
        <artifactId>unboundid-ldapsdk</artifactId>
        <version>3.2.0</version>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>1.58</version>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk15on</artifactId>
        <version>1.58</version>
    </dependency>

    <!-- End x-pack -->

そして、以下のようにクライアントコードを使用しました:

client = new PreBuiltXPackTransportClient(Settings.builder()
                .put("xpack.security.transport.ssl.enabled", true)
                //.put("xpack.security.transport.ssl.key", "/path/to/client.key")
                .put("xpack.security.transport.ssl.certificate", "cert.jks")
                .put("xpack.security.transport.ssl.certificate_authorities", "cert.jks")
                .put("xpack.security.transport.ssl.enabled", "true")
                .put("xpack.security.transport.ssl.keystore.password", "changeme")
                .put("xpack.security.transport.ssl.truststore.password", "changeme")
                .build())
            .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host), port));

助けてくれてありがとう。

4

0 に答える 0