当前位置: 首页 > 面试题库 >

如何设置Elasticsearch客户端节点?

蒯胜泫
2023-03-14
问题内容

我有几个关于客户端节点的Elasticsearch问题:

  1. 我可以说:任何节点只要打开HTTP端口,我都可以将它们视为“客户端”节点,因为我们可以通过该节点进行搜索/索引。

  2. 实际上,当cluster=false和时data=false,我们将节点视为客户端节点,如果我设置了10个客户端节点,是否需要在客户端进行路由,这意味着如果我在代码 中将clientOne:9200 指定为ES门户,则 clientOne会 转发其他HTTP请求到其他客户端节点,否则 clientOne 将承受很高的压力。即它们是否在客户端节点之间相互通信

  3. 在ES群集中​​指定客户端节点时,是否应该关闭其他节点的HTTP端口?因为我们只能查询客户端节点。

  4. 您是否认为有必要在同一台计算机上同时设置数据节点和客户端节点,或者只是在同一台计算机上同时将设置数据节点也用作客户端节点?

  5. 如果ES集群在搜索次数较少时将被大量索引/频繁索引,那么我不必设置客户端节点,因为客户端节点非常适合收集数据,对吗?

  6. 出于一般搜索/索引目的,我应该使用http端口还是tcp端口,请问客户端角度有何不同?


问题答案:
  1. 是的,您可以通过http将查询发送到打开了端口9200的任何节点。

  2. 使用node.data:false和node.master:false,您将获得一个“ 客户端节点 ”。这些对于减轻数据节点的索引编制和搜索流量很有用。如果您有10个,则需要在它们前面放置一个负载平衡器。

  3. 关闭数据节点的http端口(http.enabled:false)会使它们无法满足客户端请求(可能很好),尽管这也将阻止您直接将其卷曲以获取统计信息等。

  4. 客户端节点很有用(请参阅#2),因此我不会将流量直接路由到您的数据节点。是否在同一硬件上同时运行客户端和数据节点,将取决于该计算机的配置(您是否有足够的RAM等)。

  5. 客户端节点对于建立索引也很有用,因为它们知道哪个数据节点应接收数据进行存储。如果改为将索引请求发送到随机数据节点,则将必须将该请求重定向到另一个节点的可能性很高。如果可以创建客户端节点,那会浪费时间和资源。

  6. 让您的客户端加入群集可能会给他们提供有关群集的更多信息的权限,但是使用http会为他们提供更通用的“黑匣子”界面。使用http,您也不必将客户端保持与ES节点相同的版本。

希望能有所帮助。



 类似资料:
  • 问题内容: 我想在我的Elasticsearch php客户端到我的Elasticsearch服务器之间配置一个小的超时。 我试图将一些参数传递给耗时的客户端,但这似乎不起作用。这是代码: 我搜索发现可能是由于在cURL层中设置了超时(低于guzzle而引起的问题 限制了与Guzzle HTTP PHP客户端的连接时间 我想我需要以某种方式将CURLOPT_CONNECTTIMEOUT_MS参数设

  • 在我做了插座之后。多房间聊天应用程序的IO服务器如何使用https://github.com/socketio/socket.io-client-java ? 我搜索了很多,在socket的客户端还没有找到最新的例子。对于android,大多数教程和示例都是针对带有节点的服务器端的。js。

  • 自定义成菜单 说明: 1)启用该功能后,直播客户端可以通过自定义菜单的方式加载用户自定义的网页,方便结合自身业务进行交互操作(客户端5.0.0以上版本支持) 问卷设置 说明: 1)在直播管理页面点击 “问卷设置”,启用该功能后,直播客户端可以通过接口请求的方式将用户问卷库中的问卷导入到客户端中使用 2)关于问卷设置的具体功能及使用方法,请参考:问卷接口开发指南 菜单设置 说明: 1)支持对客户端的

  • WebSocketClient 结构体指针上只有如下两个可设置的字段: Header 字段 用来设置自定义的 HTTP 头信息。 MaxConcurrentRequests 方法 该方法返回最大并发请求数。 SetMaxConcurrentRequests 方法 该方法用于设置最大并发请求数,当并发请求超过该设置之后,后面的请求将会排队等待。该设置默认值为 10。

  • TCPClient 除了包含上面的继承自 SocketClient 的设置以外,还有以下几个可以设置的字段: Linger 字段 用于设置当连接中仍有数据等待发送或接受时的 Close 方法的行为。 如果其值小于 0(默认),Close 方法立即返回,操作系统停止后台数据发送;如果其值等于 0,Close 立刻返回,操作系统丢弃任何未发送或未接收的数据;如果其值大于 0,Close 方法阻塞最多

  • TCPClient 和 UnixClient 这两个结构体包含 SocketClient 这个匿名字段,因此,SocketClient 上的字段和方法都会被继承。 ReadBuffer 字段 设置与连接相关的操作系统接收缓冲区的大小。当为 0 时,表示不进行设置,使用系统默认值。 WriteBuffer 字段 设置与连接相关的操作系统发送缓冲区的大小。当为 0 时,表示不进行设置,使用系统默认值。