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

gav*_*koa 2 bulkinsert elasticsearch

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

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

端口API有什么区别?

我想将日志事件传递到 ElasticSearch 并查看 Bulk API:

最让我烦恼的是 Java APIPreBuiltTransportClient带来了很多依赖项,如果将客户端插入应用程序,这些依赖项是完全不必要的开销(为什么我需要org.apache.lucene应用程序中的 jars??)。

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

use*_*217 5

这里

java客户端为elastic创建了一个传输节点客户端,并通过传输模块连接到集群(不是功能齐全的节点),而不是在9200端口上整齐地工作。所以回退到9300端口连接到ES的传输层。

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

Elastic 侦听端口 9300 上的所有传输请求,甚至其他节点。