微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用大型字典执行logstash时出现堆空间错误翻译过滤器

如何解决使用大型字典执行logstash时出现堆空间错误翻译过滤器

增加堆大小,请在启动logstash之前设置LS_HEAP_SIZE环境变量。

LS_HEAP_SIZE=2048m

解决方法

我在执行翻译过滤器中包含353兆字节的大型字典的logstash时遇到java.lang.OutOfMemoryError错误:Java堆空间。

我用它来查找我的输入数据。

我试图允许JVM使用更多内存(使用java -Xmx2048m)。假设我做错了,因为它没有效果。

我用“较小”的字典测试了我的配置文件,它工作正常。有什么帮助吗?如何给logstash足够的RAM不死?

我的配置文件如下所示:

input {  
file {
  type => "MERGED DATA"
  path => "C:\logstash-1.4.1\bin\..."
  start_position => "beginning"
    sincedb_path => "/dev/null"}}

 filter {
grok {
    match => [ "message","..." ]}

if (...") {
translate {dictionary_path => "C:\logstash-1.4.1\bin\DICTIONARY.yaml"  field => "Contact_ID"  destination => "DATA" fallback => "no match" refresh_interval => 60  }

grok {match => [ "DATA","..." ]}

mutate {remove_field => ...}

else if ...

else if ...

mutate {   ... }
}
output { if [rabbit] == "INFO" {
  elasticsearch {
    host => "localhost"
            }
  stdout {}
}}

非常感谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。