虽然ES需要的配置很少,但是仍然有些配置需要我们手工去配置,尤其是在产品上线之前。

  • path.data and path.logs
  • cluster.name
  • node.name
  • bootstrap.memory_lock
  • network.host
  • discovery.zen.ping.unicast.hosts
  • discovery.zen.minimum_master_nodes

path.data和path.logs

如果你使用的是.zip或者.tar.gz的归档格式,数据和日志路径将会是$ES_HOME下的一个子路径。如果这些路径使用默认路径,这将有很大风险被删除,在我们升级新的ES版本时。在生产环境,我们通常是要改变数据和日志文件路径。

path:
logs: /var/log/elasticsearch
data: /var/data/elasticsearch

当前RPM和Debain发布的版本,已经使用自定义的数据和日志路径了。 这个path.data可以被设置多个路径,数据将会被存储在所有路径下(属于同一个分片的文件,将会存储在同一个数据路径下)

path:
data:
- /mnt/elasticsearch_1
- /mnt/elasticsearch_2
- /mnt/elasticsearch_3

cluster.name

一个节点仅能加入一个集群中,它将会与集群中其他节点共享这个集群名称。默认集群名称elasticsearch,但是,你可以根据你集群的用途改变成合适的名称。

cluster.name: cluster_es

node.name

默认情况下,Elasticsearch将使用随机生成的UUID为节点ID的前七个字符。注意,节点ID是持久的,并且在节点重新启动时不会改变,因此默认节点名称也不会改变。定义一个有意义的名称是非常有价值的,它也在重启节点后,也是由保持名称不变的优势。

node.name: prod-data-2

node.name也可以使用服务的HOSTNAME,如下:

node.name: ${HOSTNAME}

bootstrap.memory_lock

这是非常重要的用来保证节点的健康,JVM的内存不能swap到磁盘。一种实现方式是将bootstrap.memory_lock设置为true。对于这个配置的影响,首先需要设置一些其他的系统参数。关于bootstrap.memory_lock 的详细详细配置可以查看官网的链接https://www.elastic.co/guide/en/elasticsearch/reference/5.6/setup-configuration-memory.html#mlockall (待后续学习,补充中文版)

network.host

默认的,Elasticsearch绑定回环地址--如:127.0.0.1和[::1]。在某个server上运行单个部署的节点很有效。

TIP
事实上,在一个节点上同一个$ES_HOME路径下,我们可以启动多个进程的,这个对于验证ES集群特性非常有用,但是不推荐在生成环境上这样应用。

为了便于不同服务上的节点相连组成一个集群,节点需要绑定一个非回环地址。

network.host: 192.168.1.10

对于network.host的配置,需要理解一些特殊的值,如_local_, site, _global_和一些修复符,如:ip4和ip:6,更多详细信息可以参考:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-network.html#network-interface-values

discovery.zen.ping.unicast.hosts

对于一个新的集群,没有任何网络相关的配置,ES将会绑定一个回环地址,然后通过扫描9300-9305来尝试连接在该服务器上的其他节点。这是提供了一个自动组件集群的能力,在没有任何配置的情况下。 当前集群的节点来自于其他服务器时,你就不得不提供一系列的种子节点去连接,可以向如下格式:

discovery.zen.ping.unicast.hosts:
- 192.168.1.10:9300
- 192.168.1.11
- seeds.mydomain.com

对于没有提供端口,默认使用transport.profiles.default.port,如果没有提供将回退使用transport.tcp.port 提供主机名的,将会被解析成多个IP地址,并尝试连接所有地址。

discovery.zen.minimum_master_nodes

为了防止数据丢失,设置discovery.zen.minimum_master_nodes参数将会很重要,以便每个候选主节点知道为了形成集群而必须可见的最少数量的候选主节点。 如果没有这个配置,集群会在网络出现故障时脑列变成两个的风险--成为脑列。这将直接导致数据的丢失。 为了避免脑裂,候选主节点的数量应该设置为:

(master_eligible_nodes / 2) + 1

换句话说,如果有三个候选节点,那么最小候选节点应该设置为(3/2)+1 = 2

discovery.zen.minimum_master_nodes: 2

ES重要配置的更多相关文章

  1. ES 自动恢复分片的时候不恢复了是磁盘超过了85%,然后不恢复了 ES可以配置多个数据目录

    ES 自动恢复分片的时候不恢复了是磁盘超过了85%,然后不恢复了   ES可以配置多个数据目录

  2. ES 12 - 配置使用Elasticsearch的动态映射 (dynamic mapping)

    目录 1 动态映射(dynamic mapping) 1.1 什么是动态映射 1.2 体验动态映射 1.3 搜索结果不一致的原因分析 2 开启dynamic mapping策略 2.1 约束策略 2. ...

  3. ES 11 - 配置Elasticsearch的映射 (mapping)

    目录 1 映射的相关概念 1.1 什么是映射 1.2 映射的组成 1.3 元字段 1.4 字段的类型 2 如何配置mapping 2.1 创建mapping 2.2 更新mapping 2.3 查看m ...

  4. ES Log4J配置信息

    # 配置RollingFileappender appender.rolling.type = RollingFile appender.rolling.name = rolling # 日志名称 / ...

  5. ElasticSearch学习笔记--2、ES相关配置

    1.配置文件 ES的配置文件位置:config/elasticsearch.yml可以直接搜索elasticsearch.yml 2.配置远程api访问 network.host: 192.168.1 ...

  6. ES 基础理论 配置调优

    一.简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为 ...

  7. es日志配置,只保存最近3天的日志

    Elasticsearch使用Log4j 2进行日志记录.可以使用log4j2.properties文件配置Log4j2. Elasticsearch公开三个属性 ${sys:es.logs.base ...

  8. kibana 和ES安装配置常见问题解决

    1.下载相同版本的kibana和ES: es5.6.5下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5 ...

  9. ES查看配置和查看全部配置

    http://10.0.0.17:9200/blog/_settings   GET 获取单个index(库的配置) http://10.0.0.17:9200/_settings/_all   GE ...

随机推荐

  1. typeof instanceof 和 obj.constructor

     1.typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果: 'number','boolean','string','function'(函数),'object'(NU ...

  2. require-ensure

    require-ensure 说明: require.ensure在需要的时候才下载依赖的模块,当参数指定的模块都下载下来了(下载下来的模块还没执行),便执行参数指定的回调函数.require.ens ...

  3. Linux查看本机登陆用户信息(w、who、last和lastlog命令)

    w 命令 查看 Linux 服务器上目前已经登录的用户信息 [root@localhost ~]# w :: up :, users, load average:0.00, 0.00, 0.00 US ...

  4. javaee加密部署,tomcat使用自己的classloader解密

    http://www.2cto.com/kf/201312/264455.html [起因] 公司需要对一个web项目进行加密之后出售, 大家都知道的,class很好反编译, 所以需要对class文件 ...

  5. 如何交叉编译Python到ARM-Linux平台(转)

    源: 如何交叉编译Python到ARM-Linux平台

  6. GRUB2 分析 (三)

    接上一篇 从地址0x8200开始的是lzma_decompress.img.这是由startup_raw.S编译生成的.这个文件稍微复杂点.首先一开始就是个跳转指令: ljmp $0, $ABS(LO ...

  7. svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法

    安装好之后再windows上checkout项目,一直出错:“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”:在尝试了很多次之后找到了最后的问题所在.  在网上找的方法试过了, ...

  8. Http中Get和Post的区别(转载)

    在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的.Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可 ...

  9. 单调队列:temperature

    题目大意:某国进行了连续n天的温度测量,测量存在误差,测量结果是第i天温度在[l_i,r_i]范围内. 求最长的连续的一段,满足该段内可能温度不降. 第一行n下面n行,每行l_i,r_i 1<= ...

  10. Live Score FAQ

    Q: Why doesn't the selected game go to top? A: The game which include your favorite team will be alw ...