当前位置: 首页 > 面试题库 >

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

周承天
2023-03-14
问题内容

我在执行翻译过滤器中包含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 {}
}}

非常感谢。


问题答案:

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

LS_HEAP_SIZE=2048m



 类似资料:
  • 我试图将整个文件作为字符串对象加载到内存中。但是在应用程序结束后,我的内存不会被释放回垃圾收集器。我知道在内存中读取整个文件是不好的,但是我必须将数据发送到另一个类,有人能帮助我如何做这只是一个流,而不是将整个代码加载到内存中,如果没有,有人能说我现在的代码有什么问题吗

  • 当项目由cordova构建时,我得到了Java堆空间错误。该错误是在我将AdmobFree和SocialSharing Plugings安装到项目中时开始的。 我尝试使用cmd命令增加堆空间,但这对我没有帮助。项目看起来编译成功,但我无法在Android Studio上运行。我希望你能帮助我。问候 科尔多瓦构建android检查JavaJDK和Android SDK版本ANDROID_SDK_RO

  • 我在执行项目时获得错误outOfMemoryError Java堆空间.. 我的项目是通过使用胎记技术对Java程序进行盗窃检测。heapsnapshot取自google chrome developer tools,其中包含大量要存储在数据库中的节点。我正在使用netbeans Ide MYSQL数据库.. 在将heapsnapshot节点插入数据库时,am会出现错误“”,有时还会出现与此相关的

  • 我有一个maven项目,并尝试进行maven安装。在执行maven安装时,我遇到以下错误。 上面是我在上面的错误消息包中尝试做一个干净install.The指定的包时收到的错误com.cx.util作为itt.jar.的一部分提供。该jar已作为依赖项添加到该项目中。我在eclipse中没有看到任何错误。只有在尝试安装时,我才收到上面的编译错误。 下面的分析完成了吗 检查依赖项,jar作为pom中

  • 在Ubuntu中,当我运行hadoop示例时: 在日志中,我得到的错误为: 信息映射。JobClient:任务Id:尝试\u 201303251213\u 0012\u m\u000000 \u 2,状态:失败错误:Java堆空间13/03/25 15:03:43信息映射。JobClient:任务Id:trunt\u 201303251213\u 0012\u m\00000 1\u 2,状态:F

  • 这就是我的URL。py看起来像: 这是我的html中的内容: 我已经运行了,并对文件。然后我运行了django管理员编译消息。我看到了文件。当我访问我的站点时,它会给我一个AttributeError,指向上面的HTML代码行。我该如何着手解决这个问题?