网络设置

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 Network Settings的更多相关文章

  1. RH133读书笔记(8)-Lab 8 Manage Network Settings

    Lab 8 Manage Network Settings Goal: To build skills needed to manually configure networking Estimate ...

  2. Elasticsearch之settings和mappings的意义

    Elasticsearch之settings和mappings(图文详解)   Elasticsearch之settings和mappings的意义 简单的说,就是 settings是修改分片和副本数 ...

  3. Elasticsearch之settings和mappings(图文详解)

    Elasticsearch之settings和mappings的意义 简单的说,就是 settings是修改分片和副本数的. mappings是修改字段和类型的. 记住,可以用url方式来操作它们,也 ...

  4. 修改Elasticsearch的settings

    解决:Limit of total fields [1000] in index [nginx-access-log] has been exceeded" 的问题 PUT http://1 ...

  5. Elasticsearch 更新索引settings

    1.更新索引设置:将副本减至0,修改索引分析器为ik_max_word和检索分词器为ik_smart 2.需要先将索引关闭,然后再PUT setings POST user/_close PUT us ...

  6. Elasticsearch之重要核心概念(cluster(集群)、shards(分配)、replicas(索引副本)、recovery(据恢复或叫数据重新分布)、gateway(es索引的持久化存储方式)、discovery.zen(es的自动发现节点机制机制)、Transport(内部节点或集群与客户端的交互方式)、settings(修改索引库默认配置)和mappings)

    Elasticsearch之重要核心概念如下: 1.cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是 ...

  7. elasticsearch单机多实例环境部署

    elasticsearch的功能,主要用在搜索领域,这里,我来研究这个,也是项目需要,为公司开发了一款CMS系统,网站上的搜索栏功能,我打算采用elasticsearch来实现. elasticsea ...

  8. elasticsearch文档-modules

    elasticsearch文档-modules modules 模块 cluster 原文 基本概念 cluster: 集群,一个集群通常由很多节点(node)组成 node: 节点,比如集群中的每台 ...

  9. 分布式搜索ElasticSearch构建集群与简单搜索实例应用

    分布式搜索ElasticSearch构建集群与简单搜索实例应用 关于ElasticSearch不介绍了,直接说应用. 分布式ElasticSearch集群构建的方法. 1.通过在程序中创建一个嵌入es ...

随机推荐

  1. Yii2中request的使用

    1.普通的get和pst请求 $request = Yii::$app->request; $get = $request->get(); // equivalent to: $get = ...

  2. MVB设备分类

    连接在MVB上的设备按性能可以分为5类 MVB上的设备应具备下面六个性能中的一个或多个. MVB设备的性能 性能 说明 分类 设备状态 设备被轮询时能够发送出其设备状态 1,2,3,4,5 过程数据 ...

  3. 初次接触json...

    这两天发现很多网站显示图片版块都用了瀑布流模式布局的:随着页面滚动条向下滚动,这种布局还会不断加载数据并附加至当前尾部.身为一个菜鸟级的程序员,而且以后可能会经常与网站打交道,我觉得我还是很有必要去尝 ...

  4. TCP/IP 七层协议

  5. DeepLearning之路 (五) CNN

    自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Network,CNN),期间配置和使用过theano和cuda-convnet.cuda-convnet2. ...

  6. 第一篇:初识bootstrap

    Bootstrap是一款目前非常流行的前端框架,简单的说,就是html,css,javascript的工具集,我们可以用bootstrap搭建出简洁,清新的网站或软件界面,有了bootstrap这个利 ...

  7. 在gridControl的单元格中的多行文本

    我们知道,gridcontrol里面的单元格默认是不能换行的,但是有时候我们需要显示要换行的文本,应该怎么处理呢?这里提供一个方案: 假设我有一个列”合同文本“(colContractText),我要 ...

  8. JAVA String,StringBuffer与StringBuilder的区别??

    String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能 ...

  9. Mutex 和 Lock

    #include <future> #include <mutex> #include <iostream> #include <string> #in ...

  10. 新手码农浅谈观察者模式(java语言简单实现)

    一:什么是观察者模式: 官方定义:定义对象间一种一对多的依赖关系.当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 举个例子,很多人都会订阅天气预报,当气象台获得明天的天气情况( ...