千家信息网

Elasticsearch参数配置的示例分析

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,小编给大家分享一下Elasticsearch参数配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Elastic
千家信息网最后更新 2025年01月23日Elasticsearch参数配置的示例分析

小编给大家分享一下Elasticsearch参数配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日志的.


cluster.name: gh-cluster
配置es的集群名称,默认是elasticsearch,在一个集群内,各节点拥有相同的custer.name.


node.name: "gh-cluster-node-01"
节点名,默认随机指定一个name列表中名字.同一集群中,各节点名称要保持唯一。


node.master: true
指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。


node.data: true
指定该节点是否存储索引数据,默认为true。


index.number_of_shards: 5
设置默认索引分片个数,默认为5片。


index.number_of_replicas: 1
设置默认索引副本个数,默认为1个副本。


path.conf: /path/to/conf(建议修改)
设置配置文件的存储路径,默认是es根目录下的config文件夹。


path.data: /path/to/data(建议修改)
设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,例:
path.data: /path/to/data1,/path/to/data2


path.work: /path/to/work(建议修改)
设置临时文件的存储路径,默认是es根目录下的work文件夹。


path.logs: /path/to/logs(建议修改)
设置日志文件的存储路径,默认是es根目录下的logs文件夹


path.plugins: /path/to/plugins(建议修改)
设置插件的存放路径,默认是es根目录下的plugins文件夹


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


network.bind_host: 192.168.0.1 (建议改成所在服务器的ip)
设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0。




network.publish_host: 192.168.0.1
设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。


network.host: 192.168.0.1
这个参数是用来同时设置bind_host和publish_host上面两个参数。


transport.tcp.port: 9300
设置节点间交互的tcp端口,默认是9300。


transport.tcp.compress: true
设置是否压缩tcp传输时的数据,默认为false,不压缩。


http.port: 9200
设置对外服务的http端口,默认为9200。


http.max_content_length: 100mb
设置内容的最大容量,默认100mb


http.enabled: false
是否使用http协议对外提供服务,默认为true,开启。








ES集群可能会有整体重启的情况,比如需要升级硬件、升级操作系统或者升级ES大版本。重启所有结点可能带来的一个问题: 某些结点可能先于其他结点加入集群, 先加入集群的结点可能已经可以选举好master,并立即启动了recovery的过程,由于这个时候整个集群数据还不完整,master会指示一些结点之间相互开始复制数据。 那些晚到的结点,一旦发现本地的数据已经被复制到其他结点,则直接删除掉本地"失效"的数据。 当整个集群恢复完毕后,数据分布不均衡,显然是不均衡的,master会触发rebalance过程,将数据在节点之间挪动。整个过程无谓消耗了大量的网络流量;合理设置recovery相关参数则可以防范这种问题的发生。
gateway.expected_nodes
gateway.expected_master_nodes
gateway.expected_data_nodes
以上三个参数是说集群里一旦有多少个节点就立即开始recovery过程。 不同之处在于,第一个参数指的是master或者data都算在内,而后面两个参数则分指master和data node。

在期待的节点数条件满足之前, recovery过程会等待gateway.recover_after_time (默认5分钟) 这么长时间,一旦等待超时,则会根据以下条件判断是否启动:
gateway.recover_after_nodes
gateway.recover_after_master_nodes
gateway.recover_after_data_nodes

举例来说,对于一个有10个data node的集群,如果有以下的设置:
gateway.expected_data_nodes: 10
gateway.recover_after_time: 5m
gateway.recover_after_data_nodes: 8
那么集群5分钟以内10个data node都加入了,或者5分钟以后8个以上的data node加入了,都会立即启动recovery过程。








cluster.routing.allocation.cluster_concurrent_rebalance:2
指定用于并发再平衡的分片数。此属性的设置要取决于硬盘条件,如CPU数量,IO性能等。如果该属性设置不当,将影响ElasticSearch索引性能




cluster.routing.allocation.node_initial_primaries_recoveries: 4
初始化数据恢复时,并发恢复线程的个数,默认为4。


cluster.routing.allocation.node_concurrent_recoveries: 2
添加删除节点或负载均衡时并发恢复线程的个数,默认为4。






indices.recovery.max_size_per_sec: 0
设置数据恢复时限制的带宽,如入100mb,默认为0,即无限制。


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


discovery.zen.minimum_master_nodes: 1
设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)


discovery.zen.ping.timeout: 3s (建议修改)
设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。


discovery.zen.ping.multicast.enabled: false
设置是否打开多播发现节点,默认是true。


discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3"]
设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。


下面是一些查询时的慢日志参数设置
index.search.slowlog.level: TRACE
index.search.slowlog.threshold.query.warn: 10s
index.search.slowlog.threshold.query.info: 5s
index.search.slowlog.threshold.query.debug: 2s
index.search.slowlog.threshold.query.trace: 500ms


index.search.slowlog.threshold.fetch.warn: 1s
index.search.slowlog.threshold.fetch.info: 800ms
index.search.slowlog.threshold.fetch.debug:500ms
index.search.slowlog.threshold.fetch.trace: 200ms

以上是"Elasticsearch参数配置的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

节点 集群 数据 文件 参数 配置 建议 结点 文件夹 路径 过程 存储 个数 根目录 索引 两个 日志 均衡 内存 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东选调生有服务器吗 迅雷数据库13 黑色沙漠无法连接到修补服务器 漳浦县鹏华网络技术有限公司 网络安全税收优惠政策 arm中国软件开发 出货量较大的网络安全产品 单位网络安全分析研判会报告 为什么现在很少出现网络安全问题 郴州计算机软件开发培训中心 扬帆网络安全测评 陕西惠普服务器维修调试费用 软件开发培训学校查 荣耀开启查找设备无法连接服务器 南京时光铭刻网络技术有限公司 java 数据库安装 靠谱的erp分销软件开发设计 网上绑定无法读取数据库 华为网络技术支持工程师 直接命令行管理数据库 分离数据库后如何再次连接 公司管理信息系统数据库课设 宿迁待遇资格领取链接服务器失败 魔兽世界那个服务器好 SQL不小心把数据库删了 苹果手机搜东西显示找不到服务器 联想服务器可以扩展硬盘吗 分布式数据库应对数据量不大 随时交付软件开发 耗电 媒体服务器
0