前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ELK实时日志管理-指定JDK

ELK实时日志管理-指定JDK

作者头像
WindCoder
发布2018-09-19 12:00:02
9520
发布2018-09-19 12:00:02
举报
文章被收录于专栏:WindCoderWindCoder

7.附录1-指定JDK

服务器上默认为非1.8的JDK时,使用5.x的ELK需要指定单独的1.8的JDK才可。后期若能写成脚本,能在脚本中指定的话就不必现在这样麻烦地做入侵式修改了。

7.1 Elasticsearch

需要修改elasticsearch启动脚本。 打开 elasticsearchHOME/bin/elasticsearch 编辑:

代码语言:javascript
复制
[root]# vim bin/elasticsearch
export JAVA_HOME=/home/parim/spark/apps/jdk1.8.0_144/    (此处配置的为刚下的1.8的配置目录)
export PATH=$JAVA_HOME/bin:$PATH

if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/home/parim/spark/apps/jdk1.8.0_144//bin/java"
else
        JAVA=`which java`
fi

完整配置文件(部分)

代码语言:javascript
复制
#!/bin/bash

……

# 配置自己的jdk1.8
export JAVA_HOME=/home/parim/spark/apps/jdk1.8.0_144/
export PATH=$JAVA_HOME/bin:$PATH

source "`dirname "$0"`"/elasticsearch-env

ES_JVM_OPTIONS="$ES_PATH_CONF"/jvm.options
JVM_OPTIONS=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_JVM_OPTIONS"`
ES_JAVA_OPTS="${JVM_OPTIONS//\$\{ES_TMPDIR\}/$ES_TMPDIR} $ES_JAVA_OPTS"

# 自己添加的jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/home/parim/spark/apps/jdk1.8.0_144//bin/java"
else
        JAVA=`which java`
fi

cd "$ES_HOME"
# manual parsing to find out, if process should be detached
if ! echo $* | grep -E '(^-d |-d$| -d |--daemonize$|--daemonize )' > /dev/null; then
  exec \
    "$JAVA" \
    $ES_JAVA_OPTS \
    -Des.path.home="$ES_HOME" \
    -Des.path.conf="$ES_PATH_CONF" \
    -Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \
    -Des.distribution.type="$ES_DISTRIBUTION_TYPE" \
    -cp "$ES_CLASSPATH" \
    org.elasticsearch.bootstrap.Elasticsearch \
    "$@"
else

……

7.2 Logstash

查看logstash启动脚本,没有关于java_home之类的相关配置,但logstash启动过程会引入lib文件bin/logstash.lib.sh ,经查看logstash.lib.sh中定义了一个setup_java的函数,setup_java被setup函数调用,最终被bin/logstash启动脚本调用。

因此,我们只需要在logstash或logstash.lib.sh的行首位置添加两个环境变量即可:

代码语言:javascript
复制
export JAVA_CMD=/home/parim/spark/apps/jdk1.8.0_144
export JAVA_HOME=/home/parim/spark/apps/jdk1.8.0_144

7.3 JDK版本与软件版本

ES

JDK

0.90

1.6

1.3-2.4

1.7

5.0+

1.8

5.0级以上版本需要至少JDK1.8.

2.4的版本是可在1.7中的最高版本。

这是elasticsearch版本与JDK的对比,其余几个也是类似,5.x及以上的版本均需要至少为JDK1.8。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 7.附录1-指定JDK
    • 7.1 Elasticsearch
      • 7.2 Logstash
        • 7.3 JDK版本与软件版本
        相关产品与服务
        Elasticsearch Service
        腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档