虽然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. 【Python】装饰器 & 偏函数

    [装饰器] 1.最简单的Decorator. def author(f): def addName(): print('My name is xkfx.\n') f() return addName ...

  2. saltstack实现自动化扩容

    案例:当nginx的并发达到3000,并持续了一段时间时,通过自动化创建一台虚拟机,部署应用最后添加到集群提供服务: zabbix监控(nginx并发量)------->action------ ...

  3. 5309 《Java程序设计》第6周学习总结

    教材学习内容总结 输入与输出 InputStream与OutputStream 从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流:如果要将数据写入目的地,可以使用输出串流.在Java中,输 ...

  4. 三20135320赵瀚青LINUX内核分析第二周学习笔记

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.计算机的三个法宝 存储程 ...

  5. Hive表的修改Alter

    1.查看创建表的信息 [show create table] hive> show create table student; OK createtab_stmt CREATE TABLE `s ...

  6. 如何快速生成openwrt的差异配置项

    答:./script/diff > defconfig 那么如何恢复添加的配置项呢? step 1:cat defconfig>>.config step 2:make defcon ...

  7. HTTP协议Keep-Alive模式详解和HTTP头字段总结

    1.什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HT ...

  8. 数据结构实习 Problem H 迷宫的最短路径

    数据结构实习 Problem H 迷宫的最短路径 题目描述 设计一个算法找一条从迷宫入口到出口的最短路径. 输入 迷宫的行和列m n 迷宫的布局 输出 最短路径 样例输入 6 8 0 1 1 1 0 ...

  9. swagger2 坑 记录

    swagger2 只认 @RequestMapping 注解! 不认@RestController 注解 @RestController @RequestMapping(value = "/ ...

  10. 06_MySQL DQL_分组查询

    # 分组查询/*语法: select 分组函数,列(group by中出现的字段) from 表 [where 筛选条件] group by 分组的列表(单个字段,多个字段,函数,表达式) [havi ...