背景
我电脑环境的jdk是1.7,而需要的版本为1.8. 因此需要给elasticsearch指定jdk1.8(不需要将jdk1.8配置到环境变量).
一、下载
- 1、jdk:点击下载jdk1.8
- 2、解压
tar -xvf xxx1.8.tar.gz
二、配置
- 1、修改logstash启动脚本
查看logstash启动脚本,没有关于java_home之类的相关配置,但是有一项:
. "{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 {} }'
运行起来后
输入
hello hiekay
查看运行结果
三、问题
如果有些文件没有权限运行,要么新建用户组和用户,要么给文件授权
chmod -R 777 logstash
chmod -R 777 xxx