EFK搭建过程及ES的生命周期管理
在本文中,我们将详细介绍如何搭建Elasticsearch(ES)集群以及ES的生命周期管理,Elasticsearch是一个分布式、RESTful风格的搜索和分析引擎,它可以帮助我们在大量数据中快速检索和分析信息,接下来,我们将分为以下几个部分进行讲解:
1、环境准备
2、安装Elasticsearch
3、配置Elasticsearch
4、搭建ES集群
5、ES的生命周期管理
6、相关问题与解答
1. 环境准备
在开始搭建ES集群之前,我们需要确保以下几点:
操作系统:推荐使用Linux系统,如Ubuntu、CentOS等。
硬件要求:至少2核CPU、4G内存、足够的磁盘空间。
网络环境:确保所有节点之间的网络连通性。
2. 安装Elasticsearch
根据你的操作系统,从Elasticsearch官网下载相应的安装包,以Linux为例,我们可以使用wget
命令下载:
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/7.15.0/elasticsearch-7.15.0.tar.gz
解压下载的安装包:
tar -xzf elasticsearch-7.15.0.tar.gz
进入解压后的目录:
cd elasticsearch-7.15.0
3. 配置Elasticsearch
在Elasticsearch的配置文件config/elasticsearch.yml
中,我们可以对ES集群的各种参数进行配置,以下是一些常见的配置项:
cluster.name
:集群名称,默认为elasticsearch
。
node.name
:节点名称,默认为elasticsearch
。
network.host
:绑定的网络地址,默认为localhost
。
http.port
:HTTP服务的端口号,默认为9200
。
discovery.seed_hosts
:集群中的其他节点地址列表。
cluster.initial_master_nodes
:初始主节点列表。
cluster.initial_master_nodes_timeout
:初始主节点等待时间,单位为秒,如果在这个时间内没有完成主节点选举,集群将关闭,默认值为30s
。
bootstrap.memory_lock
:是否锁定堆内存大小,默认值为true
。
script.engine.hashinator.enabled
:是否启用脚本引擎,默认值为false
。
script.engine.hashinator.cache.size
:脚本引擎缓存大小,默认值为10% max heap size
。
script.engine.hashinator.retry_delay
:脚本引擎重试延迟时间,默认值为10s
。
thread_pool.bulk.queue_size
:批量操作队列大小,默认值为10000
。
thread_pool.bulk.size
:批量操作的大小限制,默认值为10mb
。
thread_pool.search.queue_size
:搜索队列大小,默认值为10000
。
thread_pool.search.size
:搜索操作的大小限制,默认值为1mb
。
thread_pool.write.queue_size
:写入队列大小,默认值为10000
。
thread_pool.write.size
:写入操作的大小限制,默认值为1mb
。
thread_pool.indexing.queue_size
:索引队列大小,默认值为10000
。
thread_pool.indexing.size
:索引操作的大小限制,默认值为1mb
。
thread_pool.get.queue_size
:获取队列大小,默认值为10000
。
thread_pool.get.size
:获取操作的大小限制,默认值为1kb
。
thread_pool.merges.queue_size
:合并队列大小,默认值为10000
。
thread_pool.merges.size
:合并操作的大小限制,默认值为5mb
。
indices.store.throttle
.type:存储限流策略类型,可选值为:none
, all
, rarely
, often
, always
,默认值为空字符串,表示不启用限流策略。
indices.store.throttle.settings
.enable:是否启用存储限流策略设置,默认值为空字符串,表示不启用限流策略设置,如果启用了限流策略设置,还需要指定具体的限流策略设置,{"all": {"max_age": "30m", "burst_frequency": "5"}}
,表示每30分钟允许最多执行5次写入操作,超过这个阈值则触发限流策略。
indices.flush_after_merge
.enabled:是否在合并操作完成后立即刷新索引段到磁盘,默认值为true
,建议保持开启状态以提高性能和数据可靠性,但在某些场景下(如低峰时段),可以关闭以节省I/O资源,需要注意的是,关闭此选项后,合并操作不会立即生效,而是在下次请求时才会应用到索引中,建议在开发和测试环境中关闭此选项,以避免潜在的数据不一致问题。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/194966.html