Elasticsearch Network Settings

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 网络设置Elasticsearch 缺省情况下是绑定 localhost。对于本地开发服务是足够的(如果你在相同机子上启动多个节点,它还可以形成一个集群),但是你需要配置基本的网络设置,为了能够在实际的多服务器生产集群中运行。

网络设置

Elasticsearch 缺省情况下是绑定 localhost。对于本地开发服务是足够的(如果你在相同机子上启动多个节点,它还可以形成一个集群),但是你需要配置基本的网络设置,为了能够在实际的多服务器生产集群中运行。
WARNING注意网络配置,永远不要暴露未受保护的节点到公网上

常用的网络配置

network.host
节点将绑定到一个主机名或者 ip 地址并且会将该这个节点通知集群中的其他节点。接受 ip 地址,主机名,指定值或者包含这些值的数组
默认值:local
discovery.zen.ping.unicast.hosts
为了加入集群,一个节点至少需要知道集群中其他节点的主机名或者 ip 地址。这个设置提供初始其他节点列表,当前节点将尝试联系。接收 ip 地址或者主机名。
默认值:["127.0.0.1", "[::1]"]
http.port
HTTP 请求通信端口。接收单值或者一个范围。如果指定一个范围,该节点将会绑定范围的第一个可用顶点。
默认值:9200-9300
transport.tcp.port
节点间通信端口。接收单值或者一个范围。如果指定一个范围,该节点将会绑定范围的第一个可用顶点。
默认值:9300-9400

network.host 的特殊值

以下特殊值将可以传递给 network.host

  • [networkInterface] 网络接口的地址,例如 en0
  • local 系统中的回路地址,例如 127.0.0.1。
  • site 系统中任何的本地站点地址,例如 192.168.0.1。
  • global 系统中的任何全局作用域地 8.8.8.8。

IPv4 vs IPv6

默认情况下这些特殊值都可以在 IPv4 和IPv6 中使用,但是你可以使用 :ipv4,:ipv6 字符限制使用。例如,en0:ipv4 将绑定 en0 接口的 IPv4 地址。
Tip在云上使用,更多特别设定可用,当你在 AWS 云或者 Google Compute Engine 云上使用时

高级网络配置

常用的网络配置中解释的 network.host 是快捷方式,同时设置绑定地址和发布地址。在高级使用情况下,例如在一个代理服务器中运行,你可能需要设置如下不同的值:
network.bind_host
这将指定用于监听请求的网络接口。一个节点可以绑定多个接口,例如有两块网卡,一个本地站点地址,一个本地地址。
默认值:network.host
network.publish_host
发布地址,一个单一地址,用于通知集群中的其他节点,以便其他的节点能够和它通信。当前,一个 elasticsearch 节点可能被绑定到多个地址,但是仅仅有一个发布地址。如果没有指定,这个默认值将为 network.host 配置中的最好地址,以 IPv4/Ipv6 堆栈性能,之后以稳定性排序。
上述两个设置可以向 network.host 那样被设置--他们都接受 IP 地址,主机名和特定值

高级 TCP 设置

任何使用 TCP(像 HTTP 和 Transport 模块)共享如下设置:

  • network.tcp.no_delay 开启或关闭 TCP 无延迟设置。默认值为 true。
  • network.tcp.keep_alive 开启或关闭 TCP 长连接,默认值为 true。
  • network.tcp.reuse_address 一个地址是否可以被重用。在非 windows 机子上默认值为 true。
  • network.tcp.send_buffer_size TCP 发送缓冲区大小(以size unit指定)。没有默认值。
  • network.tcp.receive_buffer_size TCP 接收缓冲区大小(以size unit指定)。没有默认值。

Transport 和 HTTP 协议

一个Elasticsearch节点暴露两个网络协议配置继承上面的设置,但可独立地进一步配置两个网络协议:
TCP Transport
用于集群中节点之间的通信。
HTTP
暴露基于 HTTP JSON 请求接口,被所有客户端使用,比局限于 Java 客户端。

翻译自:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html

欢迎转载,但请注明本文链接,谢谢。
2016.8.8 17:18

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
10月前
|
安全 Java 关系型数据库
elasticsearch安装dynamic-synonym插件
如何快速掌握Elasticsearch8.x同义词插件的使用,本文将层层深入带你从0到1理解ES的插件开发
elasticsearch安装dynamic-synonym插件
|
11月前
|
安全
禁用Kibana安全提示(Elasticsearch built-in security features are not enabled)
禁用Kibana安全提示(Elasticsearch built-in security features are not enabled)
114 0
|
关系型数据库 MySQL 测试技术
Elasticsearch Search APIs1
Elasticsearch Search APIs
69 0
Elasticsearch Search APIs2
Elasticsearch Search APIs
47 0
   Elasticsearch Search APIs2
Elasticsearch Search APIs3
Elasticsearch Search APIs3
41 0
|
Java Docker 容器
cannot set to file:/usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-7.4.2.jar“
cannot set to file:/usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-7.4.2.jar“
cannot set to file:/usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-7.4.2.jar“
|
Java Spring
运行ElasticSearch报错:NoNodeAvailableException[None of the configured nodes are available
运行ElasticSearch报错:NoNodeAvailableException[None of the configured nodes are available
638 0
|
API 网络架构 索引
|
存储 缓存 安全
【Elastic Engineering】Elasticsearch:Elasticsearch 中的 refresh 和 flush 操作指南
Elasticsearch:Elasticsearch 中的 refresh 和 flush 操作指南
358 2
【Elastic Engineering】Elasticsearch:Elasticsearch 中的 refresh 和 flush 操作指南