千家信息网

Elasticsearch怎么配置文件

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇"Elasticsearch怎么配置文件"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2025年11月12日Elasticsearch怎么配置文件

这篇"Elasticsearch怎么配置文件"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Elasticsearch怎么配置文件"文章吧。

一 前言

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

  • elasticsearch.yml,es相关的配置。

  • jvm.options,Java jvm相关参数的配置。

  • log4j2.properties,日志相关的配置,因为es采用了log4j的日志框架。

这里以elasticsearch7.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怎么配置文件"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

节点 配置 集群 文件 数据 目录 个数 内容 路径 限制 名称 实例 数据恢复 最大 内存 参数 地址 日志 存储 同时 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 常用数据库apl接口 以行为为中心的网络安全保护 与服务器进行同步时间出错 上海新一代软件开发设施检测中心 邮储银行软件开发岗 数据库中两个表共享一个列 网络安全 出版社 微信老是出现无法接通服务器咋办 数据库技术与应用英语怎么说 sql 登录名 数据库 java 数据库 编程 什么机会可以成为网络安全工程师 药品广告数据库是江苏10秒 组织部网络安全工作汇报 宿州鑫淼互联网科技有限公司 网络安全等级2.0定级测评 学安卓软件开发就业有高薪吗 天津常用软件开发市场报价 日本樱花服务器正片在线 软件开发流程图怎么写 腾讯网络安全级别 连接版本服务器失败1009 写入数据库sql文件 图数据库开源方案 与服务器进行同步时间出错 暴雪软件开发(上海) 数据库处理程序 云表免费版可以制作多个数据库吗 网络安全舞蹈串词 浪潮整机柜服务器维修公司
0