我有几个关于客户端节点的Elasticsearch问题:
我可以说:任何节点,只要它们打开HTTP端口,我就可以将它们视为"客户端"节点,因为我们可以通过这个节点进行搜索/索引.
其实我们对待节点客户端节点时cluster=false和data=false,如果我设立了10个客户节点,我需要在我的客户端的路线,我的意思是如果我指定clientOne:9200在我的代码为ES门户网站,然后将clientOne着其他HTTP请求到其他客户端节点,否则,clientOne将承受很大的压力.即他们是否在客户端节点之间相互通信?
当我在ES集群中指定客户端节点时,是否应该关闭其他节点的HTTP端口?因为我们只能查询客户端节点.
您是否认为有必要在同一台机器中设置数据节点和客户机节点,或者只是设置数据节点也充当客户机节点,无论如何它都在同一台机器上?
如果ES群集在搜索次数较少/经常被索引的情况下,那么我不必设置客户端节点,因为客户端节点有利于收集数据,对吗?
对于一般的搜索/索引目的,我应该使用http端口还是tcp端口,请问客户角度有什么区别?
Ala*_*ins 21
是的,您可以通过http向任何端口9200打开的节点发送查询.
使用node.data:false和node.master:false,您将获得" 客户端节点 ".这些对于从数据节点卸载索引和搜索流量非常有用.如果你有10个,你可能想要在它们前面放置一个负载平衡器.
关闭数据节点的http端口(http.enabled:false)会阻止它们提供客户端请求(可能很好),但它也会阻止您直接为它们卷曲数据等.
客户端节点很有用(参见#2),因此我不会将流量直接路由到您的数据节点.是否在同一块硬件上运行客户端和数据节点将取决于该机器的配置(您是否有足够的RAM等).
客户端节点对索引也很有用,因为它们知道哪个数据节点应该接收数据以进行存储.如果您将索引请求发送到随机数据节点,则将该请求重定向到另一个节点的几率很高.如果您可以创建客户端节点,那将浪费时间和资源.
让您的客户端加入群集可能会让他们访问有关群集的更多信息,但使用http会为他们提供更通用的"黑匣子"界面.使用http,您也不必将客户端与ES节点保持相同的版本.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
9176 次 |
| 最近记录: |