【问题标题】:error while running Logstash.conf file运行 Logstash.conf 文件时出错
【发布时间】:2017-04-12 20:23:02
【问题描述】:

在我的 unix 系统中,我已经安装了 Elasticsearch 和 Logstash,但是当我尝试通过命令 (logstash agent -f ../first-pipeline.conf) 运行 logstash.conf 文件时,我收到以下错误:

Settings: Default pipeline workers: 2

NotImplementedError: stat.st_dev unsupported or native support failed to load dev_major at 
org/jruby/RubyFileStat.java:205

nix_inode at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:28

inode at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:32

inode at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:106

watch at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:96

_discover_file at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:313
each at org/jruby/RubyArray.java:1613
each at org/jruby/RubyEnumerator.java:274

_discover_file at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:304

watch at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:95

call at org/jruby/RubyProc.java:281

synchronized at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:357

synchronize at org/jruby/ext/thread/Mutex.java:149

synchronized at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:357

watch at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/watch.rb:92

tail at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/filewatch-0.8.1/lib/filewatch/tail_base.rb:73

tail at /home/tomcat/ELK/logstash-2.3.2/vendor/jruby/lib/ruby/1.9/forwardable.rb:201

begin_tailing at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb:288

each at org/jruby/RubyArray.java:1613
begin_tailing at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb:288

run at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/logstash-input-file-2.2.5/lib/logstash/inputs/file.rb:292

inputworker at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:342

start_input at /home/tomcat/ELK/logstash-2.3.2/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:336

【问题讨论】:

  • 你有哪个JVM?你能运行java -version 并告诉我们输出是什么吗?
  • java 版本 - 1.8 , 64 位服务器
  • 哪个实现? OpenJDK 还是 Oracle?
  • 是的,我已经读过,这个问题在github.com/elastic/logstash/issues/3127 中得到了进一步解决,因为他试图将文件 libcrypt.so.1 硬链接到 libcrypt.so。但是这个文件已经存在于我的机器中,地址为:usr/lib/libcrypt.so

标签: linux unix elasticsearch logstash


【解决方案1】:

我做了符号链接,现在一切正常。

ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/crypt

参考https://github.com/elastic/logstash/issues/3127

【讨论】:

  • 对我来说,它在一台具有相同环境且没有此符号链接但在另一个环境中失败的机器上工作。
【解决方案2】:

如果使用 alpine docker 镜像,请修复此问题:

ln -s /lib/libcrypto.so.1.0.0 /lib/crypt

【讨论】:

    猜你喜欢
    • 2011-02-02
    • 2014-08-18
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 2021-05-24
    • 2021-04-22
    相关资源
    最近更新 更多