虽然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. debug教程

    名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump) 内存16进制显示 d [addre ...

  2. Python3.x:获取代理ip以及使用

    Python3.x:获取代理ip以及使用 python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request #设置请求头 headers=("U ...

  3. left4dead2 常用配置

    难度控制 z_difficulty [Easy, Normal, Hard, Impossible]

  4. 一文弄懂神经网络中的反向传播法——BackPropagation【转】

    本文转载自:https://www.cnblogs.com/charlotte77/p/5629865.html 一文弄懂神经网络中的反向传播法——BackPropagation   最近在看深度学习 ...

  5. 高手用的SourceInsight配置文件——仿Sublime风格【转】

    本文转载自:https://blog.csdn.net/weixin_38233274/article/details/80209100 配置文件下载地址:https://download.csdn. ...

  6. 打开Mac OSX原生的NTFS功能

    插上磁盘 从finder或者使用以下命令查看到磁盘的Volume Name: diskutil list /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID ...

  7. brpc编译运行

    自百度开源brpc后就一直在关注,看了下brpc都源码,感觉大牛写的果然不一样,由于之前我做c++游戏服务器开发,所以主要看了下网络底层代码,收益颇多,果然一天不学习就要落伍. 现在主要和大家说下我编 ...

  8. 算数基本定理 - nefu 118

    算数基本定理 每个大于1的正整数都可以被唯一分解为素数的成绩,在乘积中的素因子按照非降序排列 a = p1^a1 * p2^a2 * ... pn^an; b = p1^b1 * p2^b2 * .. ...

  9. No input file specified. nginx服务器报错解决

    配置虚拟域名的时候报No input file specified. 仔细观察一圈也没有发现任何错误,最终,我把注意力放到 \ 上.才发现问题. 以前我都是直接copy文件路径过去 文件里面 都是使用 ...

  10. ThinkPHP开发笔记-视图

    1.如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值,而且assign方法必须在display和show方 ...