ElasticSearch API到9300和9200端口有什么区别?

时间:2017-06-01 07:37:26

标签: elasticsearch bulkinsert

我通过9200端口使用ElasticSearch REST API。

官方Java库客户端连接到9300端口。

端口API有什么区别?

我想将记录事件传递到ElasticSearch并查看Bulk API:

最让我烦恼的是,通过PreBuiltTransportClient的Java API带来了很多依赖,如果将Client插入应用程序(为什么我需要在应用程序中使用org.apache.lucene jar?),这将是完全不必要的开销。 / p>

是否有任何性能差异,它们是否提供相同级别的可靠性?

1 个答案:

答案 0 :(得分:3)

Here

java客户端为弹性创建传输节点客户端,并通过传输模块连接到集群(不是作为完整功能节点),而不是在9200端口上整齐地工作。因此它回退到端口9300以连接到ES的传输层。

TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
        .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));

Elastic侦听端口9300处的所有transport请求,甚至是其他节点。