Elasticsearch 的网络配置是集群管理和性能优化的重要组成部分。它涉及多个层面的设置,包括节点间通信、客户端访问、安全性以及网络性能优化。以下是结合上述翻译内容对 Elasticsearch 网络配置的详细总结:
---
1.Elasticsearch 网络接口概述
Elasticsearch 节点通过两种网络接口进行通信:
• HTTP 接口:用于客户端与 Elasticsearch 之间的交互,支持 RESTful API 请求。
• 传输接口(Transport Interface):用于节点之间的内部通信,例如集群管理、分片同步等。它使用自定义的二进制协议,通过长连接的 TCP 通道实现高效通信。
两种接口都可以通过 TLS 进行加密,以确保数据传输的安全性。
---
2.默认网络配置
默认情况下,Elasticsearch 仅绑定到`localhost`(`127.0.0.1`),这意味着它只能在本地访问,无法从远程访问。这种配置适用于开发环境或单节点测试环境。如果需要跨多台主机组建集群或允许远程客户端访问,需要调整网络配置。
---
3.常用网络设置
3.1`network.host`
• 作用:设置节点的绑定地址,同时用于 HTTP 和传输流量。
• 默认值:`_local_`(绑定到本地回环地址)。如果启用了安全自动配置,可能会被覆盖为`0.0.0.0`,允许绑定到所有网络接口。
• 建议:在生产环境中,建议显式设置为一个安全的内网地址,以防止节点暴露在公共网络中。
3.2`http.port`
• 作用:定义 HTTP 接口绑定的端口。
• 默认值:`9200-9300`(可以指定一个范围,节点会绑定到第一个可用端口)。
• 建议:在多节点环境中,确保每个节点的 HTTP 端口不冲突。
3.3`transport.port`
• 作用:定义节点间通信的端口。
• 默认值:`9300-94