💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# NetWork Setting(网络配置) 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/modules-network.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/modules-network.html) 译文链接 : [NetWork Setting(网络配置)](/pages/viewpage.action?pageId=10027576) 贡献者 : [赵芳城](/display/~zhaofangcheng),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina)   Elasticsearch默认绑定到localhost(本地主机)。 这足够满足你运行一个本地开发服务器(甚至是在同一台计算机上启动多个节点的开发集群),但是您需要配置一些 [basic network settings](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/modules-network.html#common-network-settings "Commonly Used Network Settingsedit")(基本的网络设置),才能跨多台服务器运行真正的生产集群 。 配置网络时请注意 不要将裸奔节点发布到互联网上  ## Commonly Used Network Settings(常用的网络配置) ## `network.host` 配置节点绑定到该主机名或IP地址,并将该主机发布(advertise)给群集中的其他节点。 配置值支持IP地址,主机名,特殊值或这些组合的数组。默认为_local_ ## `discovery.zen.ping.unicast.hosts` 为了加入集群,节点需要知道集群中至少一些其他节点的主机名或IP地址。 此设置提供此节点尝试联系的其他节点的初始列表。 接受IP地址或主机名(域名)。 如果主机名(域名)查找解析为多个IP地址,则每个IP地址将被用于发现。 循环DNS - 从每个查找列表中返回不同的IP - 可以用于发现; 不存在的IP地址会抛出异常,并在下一轮的ping(进行JVM DNS缓存)下进行另一个DNS查找 默认配置为 `["127.0.0.1", "[::1]"]`. ## `http.port` 配置一个监听http请求的端口。 接受单个值或范围。 如果指定了范围,则该节点将绑定到该范围中的第一个可用端口。默认为 `9200-9300`.(如9200未被占用则默认为9200) ## `transport.tcp.port` 配置一个监听节点间通信使用的端口。接受单个值或范围。 如果指定了范围,则该节点将绑定到该范围中的第一个可用端口。默认为 `9300-9400`.(如9300未被占用则默认为9300) ## Special values for 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两种情况下工作,但也可以通过使用ipv6指定符来限制此值。 例如,_en0:ipv4_只会绑定到接口en0的IPv4地址。 基于云系统的网络发现 使用 EC2 discovery plugin 或安装了 Google Compute Engine discovery plugin 在云端运行时,还可以使用更多特殊设置。 ## Advanced network settings(高级网络配置) 常用网络设置中介绍的network.host设置是同时设置绑定主机和发布主机的快捷方式。在高级用例中,例如在代理服务器后运行时,可能需要将这些设置设置为不同的值: network.bind_hostThis指定节点应绑定到哪个网络接口,以便侦听传入的请求。节点可以绑定到多个接口,例如两个网卡或站点本地地址和本地地址。默认为network.host.network.publish_host发布主机是节点向群集中其他节点通告的单一接口,以便这些节点可以连接到该接口。目前,弹性搜索节点可能绑定到多个地址,但只能发布一个。如果未指定,则默认为network.host中的“最佳”地址,按IPv4 / IPv6堆栈优先级排序,然后按可达性排序。 上述两种设置都可以像network.host一样配置 - 它们接受IP地址,主机名和特殊值。 ## Advanced TCP Settings(高级TCP配置) 任何使用TCP的组件(如HTTP和传输模块)共享以下设置: | `network.tcp.no_delay` | 启用或停用[TCP no delay](https://en.wikipedia.org/wiki/Nagle%27s_algorithm) 默认为true; | | `network.tcp.keep_alive` | 启用或停用 [TCP keep alive](https://en.wikipedia.org/wiki/Keepalive). 默认为true; | | `network.tcp.reuse_address` | 是否应该重复使用地址? 在非Windows机器上默认为true。 | | `network.tcp.send_buffer_size` | TCP发送缓冲区的大小。 默认情况下未设置。 | | `network.tcp.receive_buffer_size` | TCP接受缓冲区的大小。 默认情况下未设置。 | ## Transport and HTTP protocols(节点和HTTP协议) Elasticsearch节点公开了继承上述设置的两个网络协议,但可以独立进一步配置: TCP传输用于通过Java Transport客户端和Tribe节点在集群中的节点之间进行通信。 有关更多信息,请参阅传输模块.HTTPExpose除Java客户端之外的所有客户端使用的JSON-over-HTTP接口。 有关详细信息,请参阅HTTP模块。