• ELKF:ES 安装可能遇到的问题


    本文章将持续更新 记录所遇到的问题及解决方案 ... ↓ ↓ 

    本次使用版本为:7.3.0 (以下问题 7.x 版本后都有可能遇到)

    1):问题 一

    ERROR: [3] bootstrap checks failed
    [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
    [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    ERROR: Elasticsearch did not exit normally - check the logs at /opt/app/elasticsearch-7.7.0/logs/MyES.log

    查看机器限制:

    ulimit -Sn
    ulimit -Hn

    修改限制:

    vim /etc/security/limits.conf
    *       soft    nofile           65535
    *       hard    nofile           65535
    elk       soft    nproc           4096
    elk       hard    nproc           4096
    vim /etc/sysctl.conf
    vm.swappiness = 0
    vm.max_map_count=262144

    执行命令sysctl -p另其生效。

    2):问题二 :Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.

    [root@ncx bin]# Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
            at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
            at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
            at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
            at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
    Refer to the log for complete error details.

    原因:

    出于系统安全考虑的设置 ,不允许root账号启动

    解决:

    创建一个新用户,用于启动elasticsearch
    实操:
    1)创建新用户es
        useradd es
    2)赋予es用户elasticsearch目录权限
        chown -R es .../elasticsearch
    3)切换至用户es
        su es
    4)启动elasticsearch

    3):问题三:修改指定 JDK

    future versions of Elasticsearch will require Java 11; your Java version from [/opt/java/jdk/jdk1.8.0_191/jre] does not meet this requirement
    Exception in thread "main" java.nio.file.AccessDeniedException: /opt/java/elkf/es/install/elasticsearch-7.3.0/config/jvm.options
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
        at java.nio.file.Files.newByteChannel(Files.java:361)
        at java.nio.file.Files.newByteChannel(Files.java:407)
        at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
        at java.nio.file.Files.newInputStream(Files.java:152)
        at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:61)

    原因:

    #这是由于在elastic 到7.0之后 默认要使用JDK11以上 但是我们平时开发使用的一般都是JDK1.8,所以导致启动不成功
    #elastic 7.2之后就自带JDK 我们可以再不改名系统本身环境变量的同时,使用elastic自身的JDK
    #需要修改elastic的启动文件

    解决:

    vim bin/elasticsearch
    
    #配置为elasticsearch自带jdk
    export JAVA_HOME=/usr/local/nlp/elasticsearch-7.9.1/jdk
    export PATH=$JAVA_HOME/bin:$PATH
    
    #添加jdk判断
    if [ -x "$JAVA_HOME/bin/java" ]; then
            JAVA="/usr/local/nlp/elasticsearch-7.9.1/jdk/bin/java"
    else
            JAVA=`which java`
    fi

  • 相关阅读:
    Go语言基础之字符串遍历
    Go语言基础之range
    Go语言的for循环
    Go语言基础之反射
    Go语言基础之接口
    Linux编程简介
    如何使用gcc编译器
    ADS的使用
    bvp4c--语法
    어느 도시 보유 하 면 사랑 이다(事態が発生すれば、ある都市の恋はしません)【Si les villes un amour】{If have love in a city}
  • 原文地址:https://www.cnblogs.com/codingmode/p/15260225.html
Copyright © 2020-2023  润新知