elasticsearch shard超过xx的问题

本文分享了在部署EFK时遇到的问题及解决方案。作者发现Kibana无法显示数据,并通过检查Elasticsearch日志发现了磁盘空间不足的原因。文中还提到了Elasticsearch数据路径配置的注意事项。

事情是这样的,今天部署了一套简单的efk, 可是过了一会儿kibanan就看不到数据了,这是咋回事儿呢,查看elasticsearch日志:

mark

从网上查看有个命令

curl -XPUT xx:9200/_cluster/settings -d '{"persistent" : {"cluster.routing.allocation.disk.threshold_enabled": false}}'

可以解决,试了试如下:

mark

但是过了一小会还是不行,经排查,原来是磁盘不够了,好吧, 直接换到大分区。

另外,要注意,elasticsearch的配置里面关于data.path默认是./data,这个目录前缀默认是用户的当前路径。比如:
1. 如果我是在终端执行,./bin/elasticsarch,那么data目录就会和./bin在同一级
2. 如果我们使用 su - xx -c “./bin/elasticsarch”,那么即使我们执行的命令和上面一样,但是因为我们牵扯到su切换用户,所以data目录会在xx用户的加目录下面。

### Elasticsearch 存储机制 Elasticsearch 提供了一种嵌套文件的机制,能够把一段时间间隔内的文档据打包嵌套至一个文档内;这种特性使得处理大规模据集变得高效[^2]。支持分布式部署的能力让其能轻松应对亿级的据量。 在内部实现上,Elasticsearch 使用 Apache Lucene 作为底层搜索引擎库,而 Lucene 则采用了倒排索引结构来存储和检索据。每当新文档被加入集群时,这些文档会被分割成多个分片(shards),并分布到不同的节点上去。每个 shard 实际上是一个完整的 Lucene 索引实例,具备独立查询能力的同时也实现了高可用性和扩展性[^4]。 对于磁盘I/O性能而言,在大多情况下并不是主要瓶颈所在,除非遇到了硬件资源不足的情况。真正的挑战往往来自于内存管理方面,尤其是在面对海量据场景时,FST (Finite State Transducer) 结构可能会占用大量内存,进而影响整个系统的稳定性与效率。 ### 关键配置建议 为了优化 Elasticsearch 的存储表现,合理的配置至关重要: - **防止交换区使用**:当 JVM 开始向交换空间写入据时会影响 ElasticSearch 性能。因此应当通过设置 `bootstrap.mlockall: true` 参确保 JVM 不会触发 swap 操作,并且要给予足够的权限使该参生效(Linux 下可通过命令 `ulimit -l unlimited`)。这一步骤有助于保持较高的响应速度和服务质量[^3]。 - **合理规划内存大小**:虽然增加物理 RAM 可以为应用程序提供更多运行空间,但对于基于 Java 构建的服务来说并非总是如此简单。考虑到垃圾回收机制等因素的影响,通常推荐的最大堆尺寸不超过32GB。过高的内存分配反而可能导致更频繁GC事件的发生,从而降低整体吞吐率。 ```yaml # elasticsearch.yml 中的关键配置项示例 cluster.name: my-application node.name: node-1 path.data: /var/lib/elasticsearch path.logs: /var/log/elasticsearch network.host: 0.0.0.0 http.port: 9200 discovery.seed_hosts: ["host1", "host2"] cluster.initial_master_nodes: ["node-1"] # jvm.options 文件中的部分选项 -Xms8g -Xmx8g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Djava.awt.headless=true ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值