gpt4 book ai didi

macos - Logstash 6.7.0 在 macOS Mojave (10.14.4) 上无法启动,并出现错误 “Error: Permission denied - Permission denied”

转载 作者:行者123 更新时间:2023-12-02 20:01:00 29 4
gpt4 key购买 nike

最近将 macOS Mojave (10.14.4) 上的 Logstash(通过 Homebrew 安装)升级到版本 6.7.0,但事情没有按预期运行。当我尝试通过命令行手动运行它(出于本地开发目的)时,我始终收到此错误:

  Error: Permission denied - Permission denied
Exception: Errno::EACCES
Stack: org/jruby/RubyFile.java:1263:in `utime'
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/fileutils.rb:1133:in `block in touch'

令人抓狂的是,我将 Logstash 6.7.0 安装为系统服务的 RedHat 7 生产服务器上使用了完全相同的 Logstash 配置文件 - 通过 the official Elastic repos ——一切都按预期进行。

我的输入配置文件如下所示:

input {

file {
path => "/opt/logstash/coolapp/access_log*"
exclude => "*.gz"
start_position => "beginning"
sincedb_path => "/dev/null"
close_older => "1 hour"
stat_interval => "1 second"
discover_interval => 15
}

}

就配置而言,这个东西相当简单,并且根据官方 Logstash 引用手册,我的所有设置都匹配有效/接受的设置。但如果我注释掉 sincedb_path => "/dev/null" 行,我在 macOS 上的 Logstash 设置就会按预期工作。

到底是什么原因导致了这个问题?我的意思是,当我进行本地开发工作时,我可以意识到注释掉 sincedb_path => "/dev/null",但仍然......这真的很烦人。

最佳答案

好吧,我在某种程度上想通了。错误行中间接提到了该问题:

uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/fileutils.rb:1133:in `block in touch'

我找到的唯一临时解决方案是在我的配置中注释掉这一行:

sincedb_path => "/dev/null"

我运行 Logstash 的生产服务器似乎使用的是 JRuby 版本 2.5.x,而我通过 Homebrew 安装的本地 macOS 版本使用的是 jRuby 版本 2.4.x。显然,JRuby 2.4.x 中的 fileutils.rb 在处理不存在的设备(例如 /dev/null)的情况下处理 touch 的方式与JRuby 2.5.x。因此,Logstash 在我的 macOS 开发设置上失败了。

看来这都是 Homebrew(或 macOS?)问题,而不是 Logstash 问题。

关于macos - Logstash 6.7.0 在 macOS Mojave (10.14.4) 上无法启动,并出现错误 “Error: Permission denied - Permission denied”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55859914/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com