因爲在生產環境上需要上線一套ELK環境,但是日誌收集程序Logstash需要依賴對應版本的JDK環境,具體的版本依賴在下載時有提示,提示如下:
https://www.elastic.co/downloads/logstash
Version: 6.1.3 Release date: January 30, 2018 Notes: View detailed release notes. Not the version you're looking for? View past releases.Java 8 is required for Logstash 6.x and 5.x. 可以看出需要依賴Java 8的環境。但是在生產系統中,已經部署好jdk1.7環境,而且無法輕易更改,如果不配置Java 8,會啓動失敗,報錯信息如下: [root@server17 bin]# /opt/logstash-5.2.0/bin/logstash -e LoadError: JRuby ext built for wrong Java version in `com.purbon.jrmonitor.JRMonitorService': java.lang.UnsupportedClassVersionError: com/purbon/jrmonitor/JRMonitorService : Unsupported major.minor version 52.0 require at org/jruby/RubyKernel.java:1040 (root) at /opt/logstash-5.2.0/vendor/bundle/jruby/1.9/gems/jrmonitor-0.4.2/lib/jrmonitor.rb:4 require at org/jruby/RubyKernel.java:1040 (root) at /opt/logstash-5.2.0/logstash-core/lib/logstash/instrument/periodic_poller/jvm.rb:1 require at org/jruby/RubyKernel.java:1040 (root) at /opt/logstash-5.2.0/logstash-core/lib/logstash/instrument/periodic_poller/jvm.rb:5 require at org/jruby/RubyKernel.java:1040 (root) at /opt/logstash-5.2.0/logstash-core/lib/logstash/instrument/periodic_pollers.rb:1 require at org/jruby/RubyKernel.java:1040 (root) at /opt/logstash-5.2.0/logstash-core/lib/logstash/instrument/periodic_pollers.rb:3 require at org/jruby/RubyKernel.java:1040 (root) at /opt/logstash-5.2.0/lib/bootstrap/environment.rb:70 因此需要對Logstash配置單獨的Java環境,只需要分別在如下兩個配置文件裏面配置Java環境即可: export JAVA_HOME=/usr/local/jdk1.8 1、~/logstash-5.2.0/bin/logstash 2、~/logstash-5.2.0/bin/logstash.lib.sh