私のプロジェクトにAWS Managed ElasticSearchを使用しようとしています。AWS Managed ElasticSearchのElastic Transportクライアント
私はhttps://aws.amazon.com/blogs/aws/new-amazon-elasticsearch-service/に続き、私はインスタンスを開始することができ、成功しています。しかし、elasticsearchトランスポートクライアントを使用して、私のサービスから同じインスタンスに接続することができません。
9300ポートに接続するはずのトランスポートクライアントがあり、そのポートはawsコンソールでオンにできません。
私が接続に使用しているコードは、9300ポートのec2マシンの弾性検索設定に正常に接続できます。
ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder();
settings.put("cluster.name", "my-cluster-name")
.put("client.transport.nodes_sampler_interval", "15s")
.put("client.transport.ping_timeout", "15s")
.put("client.transport.sniff", true)
.put("client.transport.ignore_cluster_name", false).build();
client = new TransportClient(settings)
.addTransportAddress(
new InetSocketTransportAddress(
env.getProperty("elastic-host-url-provided-by-aws",80)
));
私は例外を取得しています
org.elasticsearch.client.transport.NoNodeAvailableException: org.elasticsearch.client.transport.TransportClientNodesServiceで[]:構成されたノードが用意されていない のいずれも、 org.elasticsearch.client.transpで.ensureNodesAreAvailable org.elasticsearch.client.transport.TransportClientNodesService.execute(TransportClientNodesService.java:200)で(TransportClientNodesService.java:305) ort.support.InternalTransportClient.execute(InternalTransportClient.java:106) でorg.elasticsearch.client.support.AbstractClient.index(AbstractClient.java:98)
私は私がするので、このエラーがあると思われますTransportClientをHTTPポートに接続します。しかし、awsが管理している弾性検索インスタンスのTCPポートは何か分からない。私はawsのドキュメントで検索し、私は何も見つけることができませんでした。 AmazonのESに接続するためにTransportClientを使用している人がいたら、教えてください。
NB:私が であるelasticsearch java jarのバージョンが、サーバーと同じものであることを確認しました。そして、私のシステムからは、 は、問題なしでKibanaとES HTTP PORTSにアクセスすることができます。
httpクライアント – Ysak
を使用して接続できる唯一のフォーラムには、このサービスからトランスポートポートがありません。 – Ysak
ここにフォーラムリンクを追加してください。私はあなたと同じ設定を使いたいと思っていました。 – constpetrov