AWS elasticsearch service(EC2ではない)を使用してelasticsearchサーバーをセットアップしました。私はこのエンドポイントをクリックした場合には(何もポートが指定されていないがあることに注意してください)私は期待elastic Javaクライアントを使用してaws elasticsearchサービスと対話するには?
{
status: 200,
name: "Mastermind",
cluster_name: "xxxx",
version: {
number: "1.5.2",
build_hash: "yyyyyy",
build_timestamp: "2015-04-27T09:21:06Z",
build_snapshot: false,
lucene_version: "4.10.4"
},
tagline: "You Know, for Search"
}
を得ることができます質問は、私は、ポート番号なしelasticsearchのJavaクライアントを介してこれを得るのですかどのように私にエンドポイントhttps://xxx-xxxxxxxx.us-west-2.es.amazonaws.com/を与え、 ? 私が使用しているJavaクライアントのバージョン:私は取得のサンプルコードは、私はこのコードを使用し、ちょうど私のエンドポイントと「HOST1」を交換した場合、私は「NoNodeAvailableException」
PSを取得します
Client client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300));
です2.0.0である。
最後に、サードパーティのRESTクライアントであるJestと一緒に行くことにしました。しかし、Brooksが以下に答えたことも非常に役に立ちます - AWSはhttpにはポート80を使用し、httpsには443を使用します。私のためのブロッカーは、私が推測するファイアウォールでした。
EDIT2 AWS ESサービスドキュメントは、明示的に述べている:
サービスがポート80でHTTPをサポートしていますが、TCPトランスポートをサポートしていません。
です。 – Brooks
@Brooks、私はまだトランスポートクライアントを使用してAWS弾性サービスに接続できず、最終的にJestに行くことに決めました。しかし、あなたの答えはまだ問題の内容を理解するのに役立ちました。あなたの答えを受け入れた私の質問を編集しました。あなたが完全な解決策を見つけたら、他の人が恩恵を受けるようにあなたの答えを編集してください。 – Edmond
こんにちはエドモンド、あなたはまだ接続できませんでしたか?あなたのアクセスポリシーは整っていますか? – Brooks