dhr*_*hrm 1 elasticsearch logstash filebeat
我正在使用 ElasticSearch、Logstash、Filebeat 和 Kibana 运行 docker 设置,其灵感来自Elastic Docker Compose。我需要将 15 GB 的日志文件初始加载到系统中(Filebeat->Logstash->ElasticSearch),但我遇到了一些性能问题。
看来 Filebeat/Logstash 为 ElasticSearch 输出了太多工作。一段时间后,我开始在 ElasticSearch 中看到一堆错误,如下所示:
[INFO][oeiIndexingMemoryController] [f8kc50d] 现在限制分片索引 [ log-2017.06.30 ]:段写入无法跟上
我找到了这篇关于如何禁用合并限制的旧文档文章:https://www.elastic.co/guide/en/elasticsearch/guide/master/indexing-performance.html#segments-and-merging。
PUT /_cluster/settings
{
"transient" : {
"indices.store.throttle.type" : "none"
}
}
Run Code Online (Sandbox Code Playgroud)
但在当前版本(ElasticSearch 6)中,它给了我这个错误:
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "transient setting [indices.store.throttle.type], not dynamically updateable"
}
],
"type": "illegal_argument_exception",
"reason": "transient setting [indices.store.throttle.type], not dynamically updateable"
},
"status": 400
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决上述问题?
该虚拟机有 4 个 CPU 核心(Intel Xeon E5-2650),ElasticSearch 分配有 4GB RAM,Logstash 和 Kibana 各分配有 1GB。使用“swapoff -a”禁用交换。X-pack 和监控已启用。我这个日志服务器只有一个ES节点。我是否需要有多个节点才能进行初始批量导入?
编辑1:
更改number_of_replicas和refresh_interval似乎可以使其性能更好。仍在测试。
PUT /log-*/_settings
{
"index.number_of_replicas" : "0",
"index.refresh_interval" : "-1"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2863 次 |
| 最近记录: |