是的,您可以通过http将查询发送到打开了端口9200的任何节点。
使用node.data:false和node.master:false,您将获得一个“ 客户端节点 ”。这些对于减轻数据节点的索引编制和搜索流量很有用。如果您有10个,则需要在它们前面放置一个负载平衡器。
关闭数据节点的http端口(http.enabled:false)会使它们无法满足客户端请求(可能很好),尽管这也将阻止您直接将其卷曲以获取统计信息等。
客户端节点很有用(请参阅#2),因此我不会将流量直接路由到您的数据节点。是否在同一硬件上同时运行客户端和数据节点,将取决于该计算机的配置(您是否有足够的RAM等)。
客户端节点对于建立索引也很有用,因为它们知道哪个数据节点应接收数据进行存储。如果改为将索引请求发送到随机数据节点,则将必须将该请求重定向到另一个节点的可能性很高。如果可以创建客户端节点,那会浪费时间和资源。
让您的客户端加入群集可能会给他们提供有关群集的更多信息的权限,但是使用http会为他们提供更通用的“黑匣子”界面。使用http,您也不必将客户端保持与ES节点相同的版本。
希望能有所帮助。



