Elasticsearch配置文件示例示范

 更新时间:2022年4月19日 23:43  点击:269 作者:Jeff的技术栈

一 前言

在elasticsearch\config目录下,有三个核心的配置文件:

  • elasticsearch.yml,es相关的配置。
  • jvm.options,Java jvm相关参数的配置。
  • log4j2.properties,日志相关的配置,因为es采用了log4j的日志框架。

这里以elasticsearch6.5.4版本为例,并且由于版本不同,配置也不太也一样,仅作参考!

二 elasticsearch.yml

2.1 Cluster

  • 配置集群名称,由多个es实例组成的集群,有一个共同的名称。

cluster.name: my-application

  • 集群端口设置。

transport.tcp.port: 9300

  • 防止同一个shard的主副本存在同一个物理机上。

cluster.routing.allocation.same_shard.host:true

  • 初始化数据恢复时,并发恢复线程的个数,默认是4个。

cluster.routing.allocation.node_initial_primaries_recoveries: 4

  • 添加删除节点或者负载均衡时并发恢复线程的个数。默认是4个。

cluster.routing.allocation.node_concurrent_recoveries: 4

2.2 Node

  • 节点名称配置,一个es实例其实是一个es进程,在集群中被称为节点。如果一个服务器上配置集群,各节点的名称不能重复。

node.name: node-1

  • 为节点添加自定义属性,

node.attr.rack: r1

  • 该节点是否有资格成为主节点,默认为true。

node.master: true

  • 设置节点是否存储数据。

node.data: true

  • 设置默认主分片的个数,默认为5片,需要说明的是,主分片一经分配则无法更改。

index.number_of_shards: 5

  • 设置默认复制分片的个数,默认一个主分片对应一个复制分片,需要说明的是,复制分片可以手动调整。

index.number_of_replicas: 1

  • 设置数据恢复时限制的带宽,默认0及不限制。

indices.recovery.max_size_per_ser: 0

  • 设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。

indices.recovery.concurrent_streams: 5

  • 设置数据恢复时限制的带宽,默认0及不限制。

indices.recovery.max_size_per_ser: 0

  • 设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。

indices.recovery.concurrent_streams: 5

2.3 Paths

  • 存储数据路径设置,多个路径以英文状态的逗号分隔,默认根目录下的conf目录。

path.data: /path/to/data
# path.data: /path/to/data1,/path/to/data1

  • 设置临时文件存储路径,默认是es目录下的work目录。

path.work: /path/to/work

  • 日志文件路径,默认为根目录下的logs目录。

path.logs: /path/to/logs

  • 设置日志文件的存储路径,默认是es目录下的logs目录。

path.logs: /path/to/logs

  • 设置插件的存放路径,默认是es目录下的plugins目录。

path.plugins: /path/to/plugins

2.4 Network

  • 为es实例绑定特定的IP地址。

network.host: 192.168.0.1

上面的设置可以拆分为两个参数。

network.bind_host: 192.168.0.1 	# 设置绑定的ip地址,ipv4或ipv6都可以
network.publish_host: 192.168.0.1  # 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址

  • 为es实例设置特定的端口,默认为9200端口。

http.port: 9200

2.5 Discovery

  • 设置是否打开多播发现节点,默认是true。

discovery.zen.ping.multicast.enabled: true

  • 配置es单播发现列表,在es启动时,通过这个列表发现别的es实例,从而加入集群。

discovery.zen.ping.unicast.hosts: ["host1", "host2"]
discovery.zen.ping.unicast.hosts: ["10.0.0.1", "10.0.0.3:9300", "10.0.0.6[9300-9400]"]

  • discovery.zen.minimum_master_nodes设置是告诉集群有多少个节点有资格成为主节点,一般的规则是集群节点数除以2(向下取整)再加一。比如3个节点集群要设置为2,这个试着是为了防止脑裂问题。
  • 设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。

discovery.zen.ping.timeout: 3s

2.6 Memory

  • 启动时锁定内存,默认为true,因为当jvm开始swapping时es的效率 会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。 同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过ulimit -l unlimited命令

bootstrap.memory_lock: true

  • 禁止swapping交换。

bootstrap.mlockall: true

2.7 Gateway

  • 设置是否压缩tcp传输时的数据。默认是false不压缩。

transport.tcp.compress: true

  • 设置内容的最大容量,默认是100mb。

http.max_content_length: 100mb

  • 是否使用http协议对外提供服务。默认为true。

http.enabled: false

  • 设置gateway的类型,默认为本地文件系统,也可以设置分布式文件系统、Hadoop的HDFS或者AWS的都可以。

gateway.type: local

  • 在完全重新启动集群之后阻塞初始恢复,直到启动N个节点为止,详情参见Recovery

gateway.recover_after_nodes: 3

  • 设置初始化数据恢复进程的超时时间。默认是5分钟。

gateway.recover_after_time: 5m

  • 设置该集群中节点的数量,默认为2个,一旦这N个节点启动,就会立即进行数据恢复。

gateway.expected_nodes: 2

2.8 Various

  • 删除索引时需要显式名称。

action.destructive_requires_name: true

三 jvm.options

  • 设置jvm堆的大小,最大值和最小值,应该是一致的,并且应该根据你的物理内存决定。

-Xms1g     # 设置最小堆为1g
-Xmx1g		# 设置最大堆为1g

四 log4j2.properties

这个配置文件,我们一般不修改其配置。

以上就是Elasticsearch配置文件示例示范的详细内容,更多关于Elasticsearch配置文件的资料请关注猪先飞其它相关文章!

原文出处:https://www.cnblogs.com/guyouyin123/p/13308803.html

[!--infotagslink--]

相关文章

  • Elasticsearch工具cerebro的安装与使用教程

    这篇文章主要介绍了Elasticsearch工具cerebro的安装与使用教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-08
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • docker 启动elasticsearch镜像,挂载目录后报错的解决

    这篇文章主要介绍了docker 启动 elasticsearch镜像,挂载目录后报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20
  • php cli配置文件问题分析

    引言今天在教别人使用protobuf的时候,无意中发现了一个php cli模式下的诡异问题,费了老半天的找到解决方法了,这里拿出来分享下。问题描述我们这边最先引入了protobuf协议,使用的是allegro/php-protobuf这个扩展安装的。...2015-10-21
  • C#中读写INI配置文件的方法

    这篇文章主要介绍了C#中读写INI配置文件的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 使用C#实现读取系统配置文件的代码实例讲解

    这篇文章主要介绍了使用C#实现读取系统配置文件的代码实例,使用到了ConfigurationManager类,需要的朋友可以参考下...2020-06-25
  • 详解SpringBoot读取配置文件的N种方法

    这篇文章主要介绍了详解SpringBoot读取配置文件的N种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-10
  • vs 中C#项目读取JSON配置文件的方法

    这篇文章主要介绍了vs中 C#项目读取JSON配置文件的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#操作INI配置文件示例详解

    这篇文章主要为大家详细介绍了C#操作INI配置文件示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • 一文搞定Docker安装ElasticSearch的过程

    通过本文可以帮助大家快速学习Docker安装ElasticSearch的过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-08-31
  • Tomcat将配置文件放在外部的解决方法

    这篇文章主要给大家介绍了关于Tomcat将配置文件放在外部的相关资料,对平时工作来说还是挺实用的,需要的朋友们下面随着小编一起来看看吧...2021-05-16
  • 聊聊ResourceBundle和properties读取配置文件的区别

    这篇文章主要介绍了ResourceBundle和properties读取配置文件的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-22
  • Spring Boot 指定外部启动配置文件详解

    在springboot项目中,也可以使用yml类型的配置文件代替properties文件。接下来通过本文给大家分享Springboot配置文件的使用,感兴趣的朋友一起看看吧...2021-09-09
  • golang elasticsearch Client的使用详解

    这篇文章主要介绍了golang elasticsearch Client的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-04
  • Apache在httpd.conf配置文件中设置伪静态(Rewrite)

    .htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可 以允许用户通过.htaccess文件自...2016-01-28
  • C#编程实现动态改变配置文件信息的方法

    这篇文章主要介绍了C#编程实现动态改变配置文件信息的方法,涉及C#针对xml格式文件的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • .NET Core 2.0迁移小技巧之web.config 配置文件示例详解

    这篇文章主要给大家介绍了关于.NET Core 2.0迁移技巧之web.config 配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。...2021-09-22
  • IIS7.5提示无法写入配置文件web.config的解决方法

    这篇文章主要介绍了IIS7.5提示无法写入配置文件web.config的解决方法,需要的朋友可以参考下...2016-01-27
  • Zend Framework教程之配置文件application.ini解析

    这篇文章主要介绍了Zend Framework教程之配置文件application.ini用法,分析了配置文件application.ini中常见的配置项含义及用法,需要的朋友可以参考下...2016-03-12
  • 使用postman操作ElasticSearch的方法

    这篇文章主要介绍了使用postman操作ElasticSearch的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05