Elasticsearch Network Settings

网络设置

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张戈的专栏

Llinux文件目录权限及chmod命令简析

这些天,在互推联盟群(344134224 )遇到几例关于 WP 升级失败以及 FTP 账号登陆的问题。最终发现都是主机的目录权限设置存在问题。比如,博友【PPT...

4286
来自专栏java一日一条

HttpInvoker运作原理

HttpInvoker是常用的Java同构系统之间方法调用实现方案,是众多Spring项目中的一个子项目。顾名思义,它通过HTTP通信即可实现两个Java系统之...

1195
来自专栏张戈的专栏

解决网站404页面返回200状态码问题

好久没打理博客,突然收到 CDN 流量预警,发现平均每天 40G 流量消耗!what?就现在这个访问量,不存在的。看了下 CDN 日志发现有小人一直在请求博客页...

1903
来自专栏电光石火

使用Maven创建web项目

使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 ? 我们勾选上Create a simple ...

24010
来自专栏IT 指南者专栏

今天花时间最多的两个小错误

微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1、配置Maven项目的pom.xml文件报错 (1)、...

2847
来自专栏北京马哥教育

linux下用tar进行数据备份

豌豆贴心提醒,本文阅读时间7分钟 本机上数据的手工备份 Linux系统上配有功能强大的tar命令,可以灵活地备份数据。 tar最初是为了制作磁带备份而设计的把...

2998
来自专栏小明plus

在2018年如何优雅的开发一个typescript语言的npm包?

很多时候,我们可能想要用 typescript 语言来创建一些模块,并提交到 npm 供别人使用,

9969
来自专栏pangguoming

Git忽略规则.gitignore梳理

对于经常使用Git的朋友来说,.gitignore配置一定不会陌生。废话不说多了,接下来就来说说这个.gitignore的使用。

782
来自专栏散尽浮华

Git忽略规则.gitignore梳理

对于经常使用Git的朋友来说,.gitignore配置一定不会陌生。废话不说多了,接下来就来说说这个.gitignore的使用。 首先要强调一点,这个文件的完整...

1877
来自专栏电光石火

使用Maven创建web项目

​使用eclipse插件创建一个web project

2218

扫码关注云+社区