欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

logstash启动制定jdk1.8版本

程序员文章站 2022-06-06 12:18:15
...

背景

我电脑环境的jdk是1.7,而需要的版本为1.8. 因此需要给elasticsearch指定jdk1.8(不需要将jdk1.8配置到环境变量).

一、下载

tar -xvf xxx1.8.tar.gz

二、配置

  • 1、修改logstash启动脚本
    查看logstash启动脚本,没有关于java_home之类的相关配置,但是有一项:

. "logstash启动制定jdk1.8版本{SOURCEPATH}`/..; pwd)/bin/logstash.lib.sh"

说明 : logstash启动过程会引入lib文件bin/logstash.lib.sh
查看logstash.lib.sh

setup_java() {
  if [ -z "$JAVACMD" ] ; then
    if [ -n "$JAVA_HOME" ] ; then
      JAVACMD="$JAVA_HOME/bin/java"
    else
      JAVACMD="java"
    fi
  fi

定义了一个setup_java的函数,setup_java被setup函数调用,最终被bin/logstash启动脚本调用,因此,我们只需要在logstash或logstash.lib.sh的行首位置添加两个环境变量

export JAVA_CMD="/home/hiekay/jdk1.8.0_181/bin"
export JAVA_HOME="/home/hiekay/jdk1.8.0_181/"
  • 2、再次启动正常

logstash -e 'input { stdin { } } output { stdout {} }'

运行起来后


logstash启动制定jdk1.8版本
image.png

输入

hello hiekay

查看运行结果


logstash启动制定jdk1.8版本
image.png

三、问题

如果有些文件没有权限运行,要么新建用户组和用户,要么给文件授权

chmod -R 777 logstash
chmod -R 777 xxx