Logstash 5.1.1“;坏URI(不是URI?)“;

Logstash 5.1.1“;坏URI(不是URI?)“;,logstash,logstash-configuration,logstash-file,Logstash,Logstash Configuration,Logstash File,错误: c:\ProgramFiles\Logstash\bin>Logstash.bat-e'输入{stdin{} 输出{stdout{}}发生意外错误!:错误=>错误的URI (不是URI?):File://c:/Program Files/Logstash/confi g/ log4j2.properties,:backtrace=>[“C:/Program Files/Logstash/ 供应商/jruby/lib/ruby​​/ 1.9/uri/common.rb:176:拆分中 “,

错误:

c:\ProgramFiles\Logstash\bin>Logstash.bat-e'输入{stdin{} 输出{stdout{}}发生意外错误!:错误=>错误的URI (不是URI?):File://c:/Program Files/Logstash/confi g/ log4j2.properties,:backtrace=>[“C:/Program Files/Logstash/ 供应商/jruby/lib/ruby​​/ 1.9/uri/common.rb:176:拆分中 “,”C:/Program Files/Logstash/vendor/jruby/lib/ruby​​/ 1.9/uri/common.rb:210:in parse'“C:/Program Files/Logstash/vendor/jruby/lib/ruby​​/ 1.9/uri/common.rb:747: 在“parse”中,C:/Program Files/Logstash/vendor/jruby/lib/ 红宝石​​/ 1.9/uri/common.rb:994:inURI'“c:/Program文件/ Logstash/log stash core/lib/Logstash/logging/logger.rb:76: 在“初始化”中,org/jruby/ext/thread/Mutex.java:149: insynchronize'“c:/Program Files/Logstash/Logstash core/lib /logstash/logging/logger.rb:74:inin初始化“,”c:/Program 文件/Logstash/Logstash core/lib/Logstash/runner.rb:193: 不执行“,”c:/P程序文件/Logstash/vendor/bundle/jruby /1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:运行中', “c:/Program Files/Logstash/Logstash core/lib/Logstash/ runner.rb:178:inrun',“c:/Program Files/Logst ash/vendor/ bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb: 132:在“运行”中,c:\Program Files\\Logstash\lib\bootstrap \environment.rb:71:in(根)“]


您得到的错误是因为您正在程序文件中运行logstash,而logstash无法处理文件夹名称中的空间


您应该将logstash文件夹复制到另一个不包含空格的位置,然后从那里运行它。

此错误开始出现在5.0.1及更高版本中。与此相关的logstash回购协议中存在未决问题:。此错误未修复时,您可以使用该版本。

我收到了相同的基本错误消息

$ bin/logstash -f sample.conf
An unexpected error occurred! :error => bad URI(is not URI?): file:///Users/user_name/Downloads/elastic stack/logstash-5.1.1/config/log4j2.properties, :backtrace => ["/Users/user_name/Downloads/elastic stack/logstash-5.1.1/vendor/jruby/lib/ruby/1.9/uri/common.rb:176:in `split'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/vendor/jruby/lib/ruby/1.9/uri/common.rb:210:in `parse'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/vendor/jruby/lib/ruby/1.9/uri/common.rb:747:in `parse'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/vendor/jruby/lib/ruby/1.9/uri/common.rb:994:in `URI'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/logstash-core/lib/logstash/logging/logger.rb:76:in `initialize'", "org/jruby/ext/thread/Mutex.java:149:in `synchronize'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/logstash-core/lib/logstash/logging/logger.rb:74:in `initialize'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/logstash-core/lib/logstash/runner.rb:193:in `execute'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/logstash-core/lib/logstash/runner.rb:178:in `run'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/Users/user_name/Downloads/elastic stack/logstash-5.1.1/lib/bootstrap/environment.rb:71:in `(root)'"]
原来logstash不准备处理名称中带有空格的文件路径。在macOS上,我将它及其相关的弹性堆栈应用程序放在一个名为elastic stack的文件夹中(带有空格)。用下划线替换空格效果很好

路径变成了这样

~/Downloads/elastic\u stack/


现在它按预期启动。

您可能已经开始了巡演。我应该注意,因为它是一个文件:///URL,它可能用于对空间(或其他任何内容)进行URL编码。