虽然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. [2012-12-18 14:59:31]AS3 常用正则表达式的总结-不用google了,我帮收集的很多了

    正则表达式是一种通用的标准,大部分计算机语言都支持正则表达式,包括as3,这里转摘出了一些常用的正则表达式语句,大家用到的时候就不用自己写了.红色字体为常用正则:下面这个类是我自己写的一个示例,想必大 ...

  2. Decker hello world

    Docker 允许在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world root@ranxf:/home/ranxf# docker run ...

  3. cx_Oracle连接数据库总结

    python中连接oracle数据库使用第三方库文件cx_Oracle时遇到了各种问题,网上查找资料调试了几天才弄好,下面是不断调试后总结的一些经验.1.oracle客户端(Oracle Instan ...

  4. php面向对象类中常用的魔术方法

    php面向对象类中常用的魔术方法   1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct( ...

  5. opencv图像处理之在手机上实现背景虚化

    http://m.blog.csdn.net/blogercn/article/details/75004162 1.高端数码相机都具有背景虚化功能.背景虚化就是使景深变浅,使焦点聚集在主题上.一般的 ...

  6. Sublime text3:安装插件SublimeREPL解决不支持input

    Sublime text3:安装插件SublimeREPL解决不支持input 安装SublimeREPL 1,调用ctrl+shift+p 输入install回车: 2,输出:sublimerepl ...

  7. kali安装机场v2ray客户端

    为了方便查找资料,之前安装的ssr在kali上面,感觉速度不怎么快,相比windows和android上慢很多,所以打算在kali上面装个机场试试,看官方介绍说机场比ssr速度更快,下面是安装步骤: ...

  8. z-albert之开启博文之路

    其实注册博客园已经蛮久的了,一直都只是停留在看,却没有自己动手一篇属于自己的技术博文.之所以以前一直没写,以前没有工作,一直都是小白.然而今天为什么感写了呢,并不是自己比以前懂得多多少,而是希望将自己 ...

  9. javaWeb中JNDI的使用,为什么要加java:comp/env前缀

    转载自(http://blog.csdn.net/guodongsoft/article/details/52399527) 我们在使用JNDI调用某个对象时,会有下述两种方式 context.loo ...

  10. linux top 各个标识的含义 详解

        top之前一直都是一知半解,今天周末加班,我的工作已经完成,在等同事吃饭,就把这个写下来. 第一行: top - 20:42:47 up 57 days,  1:25,  4 users,  ...