面试题答案
一键面试常见配置项
- cluster.name
- 说明:用于指定Elasticsearch集群的名称。同一集群内的所有节点需配置相同的集群名称才能相互发现并组成集群。
- 示例:
cluster.name: my - elastic - cluster
- node.name
- 说明:节点的名称,在集群中需保持唯一。有助于识别和管理集群中的各个节点。
- 示例:
node.name: node - 1
- network.host
- 说明:指定节点绑定的IP地址。可设置为具体IP,也可设置为
0.0.0.0
以绑定所有可用网络接口。 - 示例:
network.host: 192.168.1.100
- 说明:指定节点绑定的IP地址。可设置为具体IP,也可设置为
- http.port
- 说明:Elasticsearch用于HTTP通信的端口,默认是9200。
- 示例:
http.port: 9200
- transport.tcp.port
- 说明:节点间内部通信使用的TCP端口,默认是9300。
- 示例:
transport.tcp.port: 9300
- discovery.seed_hosts
- 说明:配置初始的种子节点列表,用于节点发现和集群组建。
- 示例:
discovery.seed_hosts: ["192.168.1.100:9300", "192.168.1.101:9300"]
- cluster.initial_master_nodes
- 说明:在首次启动集群时,指定哪些节点有资格成为主节点。
- 示例:
cluster.initial_master_nodes: ["node - 1", "node - 2"]
性能优化思路和方法
- 网络相关配置优化
- 优化思路:合理设置
network.host
和transport.tcp.port
,确保网络连接稳定且高效。避免使用广播地址,减少网络开销。 - 方法:根据网络环境选择合适的绑定IP,尽量使用固定IP。对网络带宽进行监控和调整,保证节点间通信顺畅。
- 优化思路:合理设置
- 节点发现和集群组建优化
- 优化思路:准确配置
discovery.seed_hosts
和cluster.initial_master_nodes
,减少节点发现过程中的错误和延迟。 - 方法:选择可靠且性能良好的节点作为种子节点。避免过多的种子节点,减少发现过程中的冗余通信。
- 优化思路:准确配置
- 端口配置优化
- 优化思路:确保
http.port
和transport.tcp.port
不与其他应用冲突,并且配置合适的端口范围以满足性能需求。 - 方法:在安全允许的情况下,合理调整端口范围,提高端口利用率。对端口进行安全防护,防止非法访问。
- 优化思路:确保
- 集群名称和节点名称优化
- 优化思路:简洁明了的
cluster.name
和node.name
有助于管理和维护集群,同时避免名称冲突导致的问题。 - 方法:采用统一的命名规范,易于识别和区分不同集群和节点。定期检查节点名称的唯一性。
- 优化思路:简洁明了的