2017-02-17 10 views
1

Spring MVCアプリケーションでElasticSearchリポジトリを設定しようとしています。 私は、Spring Data ElasticSearchバージョン2.0.7とElasticSearch Server 2.4.4を使用しています。Spring Data ElasticSearch - ノードに接続できません

私はElasticNode作業は、ここでここでの出力例

$ curl -X GET http://127.0.0.1:9200/ 
{ 
    "name" : "Tattoo", 
    "cluster_name" : "elasticsearch", 
    "cluster_uuid" : "dX0lPfNnSA6vxGqhzVEuSg", 
    "version" : { 
    "number" : "2.4.4", 
    "build_hash" : "fcbb46dfd45562a9cf00c604b30849a6dec6b017", 
    "build_timestamp" : "2017-01-03T11:33:16Z", 
    "build_snapshot" : false, 
    "lucene_version" : "5.5.2" 
    }, 
    "tagline" : "You Know, for Search" 
} 

は私のテスト構成は、私はスタックトレース

、アプリケーションは弾性ノードに接続できないというエラーを取得しています

@Configuration 
@EnableElasticsearchRepositories(basePackages = "com.somepackage.repo.elastic") 
public class ElasticSearchConfig { 

@Bean 
public ElasticsearchTemplate elasticsearchTemplate() throws UnknownHostException { 
    return new ElasticsearchTemplate(nodeClient()); 
} 

@Bean 
public TransportClient nodeClient() throws UnknownHostException { 

    Settings settings = Settings.builder().put("cluster.name", "elasticsearch").build(); 
    TransportClient client = TransportClient.builder() 
      .settings(settings) 
      .build(); 
    client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9200)); 
    return client; 

} 
} 

であることを確信しています

2017-02-17 23:34:53 INFO transport:383 - [Impulse] failed to get node info for {#transport#-1}{127.0.0.1}{localhost/127.0.0.1:9200}, disconnecting... 
ReceiveTimeoutTransportException[[][localhost/127.0.0.1:9200][cluster:monitor/nodes/liveness] request_id [1] timed out after [5002ms]] 
    at org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:645) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

弾性検索ノードのバージョンを1.7.1,2.4.4から変更しようとしました5.2.1。何も動作しません。 Javaの8と Spring MVCの4.3.6.RELEASE

答えて

2

を試してみてください:ElasticSearchノードとのtransportClientは、同じバージョンを持つ必要があります。

スプリングデータElasticSearchは、バージョン2.2.0でTransportClientを提供します。私はバージョン2.4.4でElasticSearchノードを使用していました。私は、ESノードを2.2.0にダウングレードし、設定を9200から9300に変更しました。

+1

あなたは正しいですか?うれしいことに、私はTransportClientのバージョンに問題はなかった。将来はそれを知ることはまだ良いです。しかし、私は9200と9300のデフォルトポートを理解していなかったので、私は多くの問題を抱えていました。ここでは、私を助けたものを使用するときの議論があります:http://elasticsearch-users.115913.n3.nabble.com/Transport-Client-VS-REST-Client-td4042497.html – RenatoIvancic

1

ポート9300上でelasticsearchするTransport client交渉だから要するに

client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 
+0

部分的な解決策です。 –

関連する問題