elasticsearch 5.5 Transport Cientを使って初期化されたスロー異常

5314 ワード

elasticsearch 5.5 Transport Cientを使って初期化されたスロー異常
esバージョンの説明
  • elasticsearch 5.5.5.3バージョン
  • maven依頼カバン
  • elasticsearch java client包
  • <dependency>
          <groupId>org.elasticsearch.clientgroupId>
          <artifactId>x-pack-transportartifactId>
          <version>5.6.0version>
    dependency>
  • netty依存パッケージ
  • <dependency>
        <groupId>io.nettygroupId>
        <artifactId>netty-allartifactId>
        <version>4.1.13.Finalversion>
    dependency>
    初期化client異常情報
    elasticsearchクラスタにx-packプラグインをインストールして、Transport Clientを直接使ってesクラスタに接続できない場合、XackTransport Clientを使って接続する必要があります.X-pack-transportパッケージを追加して、追加後にclientを初期化する時に以下の異常情報を投げます.
    Caused by: java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositive(ILjava/lang/String;)I
        at io.netty.util.NettyRuntime$AvailableProcessorsHolder.setAvailableProcessors(NettyRuntime.java:44) ~[netty-common-4.1.13.Final.jar:4.0.33.Final]
        at io.netty.util.NettyRuntime.setAvailableProcessors(NettyRuntime.java:87) ~[netty-common-4.1.13.Final.jar:4.0.33.Final]
    解決方法は、初期化方法の前に追加するだけです.// netty
    System.setProperty("es.set.netty.runtime.available.processors", "false");
    nettyの衝突を解決した後にclientを初期化する時また異常を投げて、異常な情報は以下の通りです.
    Caused by: java.lang.NoSuchMethodError: io.netty.buffer.CompositeByteBuf.addComponents(ZLjava/lang/Iterable;)Lio/netty/buffer/CompositeByteBuf;
        at org.elasticsearch.transport.netty4.Netty4Utils.toByteBuf(Netty4Utils.java:117) ~[transport-netty4-client-5.6.0.jar:5.6.0]
        at org.elasticsearch.transport.netty4.Netty4Transport.sendMessage(Netty4Transport.java:395) ~[transport-netty4-client-5.6.0.jar:5.6.0]
    nettyバージョンの衝突、低いバージョンのnetty起動時に異常を投げます.高いバージョンのnetty依存を追加する必要があります.maven依頼のパッケージを見てください.二つをあなたのpom.xmlに追加してもいいです.問題があればメッセージをください.