3

ElasticSearchクライアントを実行しようとしていますが、xerial.snappyエラーFAILED_TO_LOAD_NATIVE_LIBRARYが発生します。

Elastic Search v。0.20.5を使用しています:

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

また、依存関係にsnappy v.1.0.4.1を追加しました(ただし、どちらも役に立ちませんでした):

<dependency>
  <groupId>org.xerial.snappy</groupId>
  <artifactId>snappy-java</artifactId>
  <version>1.0.4.1</version>
</dependency> 

これが私が得ているエラーです(私のアプリは引き続き実行されますが、圧縮ライブラリが使用されていない可能性があります)

INFO  Log4jESLogger.internalInfo - [Human Top II] loaded [], sites [] 
DEBUG Log4jESLogger.internalDebug - using [UnsafeChunkDecoder] decoder 
DEBUG Log4jESLogger.internalDebug - failed to load xerial snappy-java 
org.xerial.snappy.SnappyError: [FAILED_TO_LOAD_NATIVE_LIBRARY] null
    at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)
    at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44)
    at org.elasticsearch.common.compress.snappy.xerial.XerialSnappy.<clinit>(XerialSnappy.java:42)
    at org.elasticsearch.common.compress.CompressorFactory.<clinit>(CompressorFactory.java:58)
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:161)
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:109)

この問題を生成する私のコード:

  public static void main(String[] args)
  {
    // Error happens during client creation...
    Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("localhost", 9300));
    try
    { 
      SearchResponse res = client.prepareSearch().execute().actionGet();
      SearchHits hits = res.getHits();
    }
    finally
    {
      client.close();
    }
  }

誰かがこの問題に光を当てることができますか?ネイティブライブラリをロードするためにsnappyを作成する方法は?現在Win7-64を使用していますが、AWS(centOS、RHなど)で実行したい

4

0 に答える 0