0
ESクラスタに接続する最も基本的なケースを試していますが、登録しているホストが登録されていないようです。これは私が実行しているコードです:ElasticSearch(java) - ノードが設定されていない問題
//Create the client
Client client = new TransportClient(ImmutableSettings.builder()
.put("cluster.name", "MyCluster")
.put("client.transport.sniff","true").build())
.addTransportAddresses(
new InetSocketTransportAddress("host1", 9300),
new InetSocketTransportAddress("host2", 9300));
// Try to make a call
SearchRequest sr = new SearchRequest().indices("MyIndex");
ActionFuture<SearchResponse> search = client.search(sr);
SearchResponse actionGet = search.actionGet(); // <-- Exception
System.out.println(actionGet.toString());
client.close();
これは私が得る例外です:スレッド「メイン」org.elasticsearch.client.transport.NoNodeAvailableExceptionで
例外:構成されたの
なしノードは利用できます:[]
接続ノードがないようですが、何が欠けていますか?
注:私はGradleの持つ弾性検索クライアントを使用しています:
コンパイル 'org.elasticsearch:elasticsearch:1.7.5'
クラスタは正常に動作していますか? youtクライアントとサーバーのバージョンは同じですか? – alpert
クラスタはREST呼び出しで正常に動作しています。そして、私は同じバージョンを持っていると思う、どのように私はサーバー上のバージョンをチェックするのですか? –
'curl -XGET 'http:// host:9200'と入力してください。クラスタ名も確認してください。 – alpert