Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What is the latest version of logstash that supports JDK6 ? #4511

Closed
iyaozhen opened this issue Jan 18, 2016 · 9 comments
Closed

What is the latest version of logstash that supports JDK6 ? #4511

iyaozhen opened this issue Jan 18, 2016 · 9 comments

Comments

@iyaozhen
Copy link

First, I'm very ashamed to ask this question. After all, this year is 2016. But I am helpless.

I test my program in my local system, but production environment system is 'CentOS release 4.3', can't install jdk7+, and I can't change It.
Same question: http://permalink.gmane.org/gmane.comp.sysutils.logstash.user/5627

I test logstash-1.4.0 in production environment on jdk6, can't work:

[work@xxx logstash-1.4.0]$ bin/logstash version
LoadError: Could not load FFI Provider: (NotImplementedError) FFI not available: null
 See http://jira.codehaus.org/browse/JRUBY-4583
  require at org/jruby/RubyKernel.java:1085
  ...

I set JAVA_OPTS="-Djava.io.tmpdir=/home/work/java_tmp" in bin/logstash script, but It is not work too.
Some other information:

[work@xxx bin]$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

drwxrwxrwt    8 root root  4096  1月 18 22:32 tmp
@iyaozhen iyaozhen changed the title What is the latest version of logstash that supports JDK6? What is the latest version of logstash that supports JDK6 ? Jan 18, 2016
@andrewvc
Copy link
Contributor

Hi @iyaozhen , we understand that some companies have very slow upgrade cycles, don't feel ashamed to ask!

Unfortunately I'm not too sure which versions would work. That is really going to depend on the jruby version. The best advice I can give you is to just keep testing old versions till you find one that works, we haven't supported JDK6 for quite a while (and neither has Oracle).

@jbehrends
Copy link

@iyaozhen I'm running a few LS v1.5.3 instances under JDK6 without issue. I did a bunch of testing a while back, and that was the last version I could find that would actually start under JDK6.

@iyaozhen
Copy link
Author

@andrewvc and @jbehrends, Thx very much.

But, LS v1.5.3 does't work too, maybe CentOS 4 latest support GLIBC_2.3.

LoadError: Could not load FFI Provider: (NotImplementedError) FFI not available: java.lang.UnsatisfiedLinkError: /tmp/jffi4731435797157165324.so: /lib64/tls/libc.so.6: version `GLIBC_2.4' not found (required by /tmp/jffi4731435797157165324.so)

[root@xxx bin]# ldd --version
ldd (GNU libc) 2.3.4
Copyright (C) 2005 Free Software Foundation, Inc.

@jordansissel
Copy link
Contributor

@iyaozhen you might be able to solve that by building jruby (and it's FFI support) on the targets OS. That should hopefully solve the glibc versioning problems. (it's not a simple solution, but it should work)

@jordansissel
Copy link
Contributor

@iyaozhen (or, by building a newer glibc and using LD_LIBRARY_PATH to have java/jruby/ffi find the newer glibc?)

@iyaozhen
Copy link
Author

@jordansissel I already try building glibc 2.4, and set LD_LIBRARY_PATH. But java runtime core. Just simple command ‘java -version’.

Now, as you suggest, I try to building jruby.

@iyaozhen
Copy link
Author

I building jruby and FFI support. I run logstash like this:

[root@xxx bin]# java -Xmx500m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -jar /root/local/jruby-1.7.23/lib/jruby.jar -I /root/local/logstash-1.4.2/lib /root/local/logstash-1.4.2/lib/logstash/runner.rb version
LoadError: no such file to load -- i18n
  require at org/jruby/RubyKernel.java:1040
   (root) at /root/local/logstash-1.4.2/lib/logstash/runner.rb:46

I just change logstash.lib.sh

#JRUBY_JAR=$(ls "${basedir}"/vendor/jar/jruby-complete-*.jar)
JRUBY_JAR="/root/local/jruby-1.7.23/lib/jruby.jar"

Other information:

[root@xxx bin]# echo $GEM_HOME
/root/local/logstash-1.4.2/vendor/bundle/jruby/1.9

@iyaozhen
Copy link
Author

I give up logstash.

But Filebeat (https://www.elastic.co/products/beats/filebeat) is work. Thank everybody who helped me. Thx elastic.co.

"After endless mountains and rivers that leave doubt whether there is a path out, suddenly one encounters the shade of a willow, bright flowers and a lovely village."

@suyograo
Copy link
Contributor

Glad you found filebeat applicable to your usecase. JDK6 is pretty old, so there will not be any support in LS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants