• 解决elasticsearch启动时常见的错误


    注:elasticsearch需要jdk8以上的环境,需要先安装有jdk8以上,才能运行。

    错误1:不能以root用户运行

    org.elasticsearch.bootstrap.StartupException: 
    java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125)

    注:出于安全考虑,elasticsearch默认不允许以root账号运行。故需要创建一个用户

    解决办法:

    创建用户,切换到创建的用户,再运行。

    下面这个链接,第二步中 有详细centos7创建用户,用户组配置的过程。

    centos7安装 Elasticsearch链接:https://blog.csdn.net/qq_41357211/article/details/99991666

    错误2:文件权限不够

    ERROR: [2] bootstrap checks failed
    [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    这是切换自己创建的用户后运行时,因为不是root,所以文件权限不够。

    解决办法:

    先切换到root用户登录,然后修改配置文件:

    [root@localhost bin]# vim /etc/security/limits.conf

     配置文件中添加以下内容: (注意带*)

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 4096
    * hard nproc 4096

    记得修改完,先切换到自己创建的用户,再运行elasticsearch , reboot重启生效

    错误3:用户拥有的内存权限太小,至少least [262144]

    ERROR: [1] bootstrap checks failed
    [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

     解决办法:

    先切换到root用户下,然后执行修改配置文件

    ( 没有这个文件的话:root用户下vim会自动创建一个新的;自己创建的用户下,不额外配置的话,vim没有权限创建 )

    所以说,先切换到root用户下

    [root@localhost bin]$ su root

    [root@localhost bin]$ vim /etc/sysctl.conf

    文件中添加以下内容:

     vm.max_map_count=655360

     然后执行命令:

    sysctl ‐p
      记得修改完,先切换到自己创建的用户,再运行elasticsearch

    错误4:线程数不够
    
    [1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

    先切换到root用户下,然后执行修改配置文件

    [root@localhost bin]$ vim /etc/security/limits.d/90‐nproc.conf

    修改文件中内容:

    * soft nproc 1024

    改为:

    * soft nproc 4096

    错误5:权限不足

    2019-08-22 03:16:26,465 main ERROR RollingFileManager 
    (/home/leyou/elasticsearch/logs/elasticsearch.log) 
    java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够) 
    java.io.FileNotFoundException: /home/leyou/elasticsearch/logs/elasticsearch.log (权限不够)

    解决办法:

     切换到root用户下,再cd 到 elasticsearch安装目录下,进行用户授权

    # 修改elasticsearch用户组在当前目录下的权限(带点)
    [root@localhost elasticsearch]# chgrp -R elasticsearch .
    # 修改leyou用户在当前目录下的权限(带点)
    [root@localhost elasticsearch]# chown -R leyou .
    错误6:内核过低

    unable to install syscall filter: 
    java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with

    该错误发生在centos6或低版本系统,elasticsearch的插件要求linux内核至少3.5以上系统。

    解决办法:

    修改conf目录下的elasticsearch.yml,在文件最下面添加配置:

    bootstrap.system_call_filter: false

     重启即可。


    原文链接:https://blog.csdn.net/qq_41357211/article/details/100011139

  • 相关阅读:
    Javascript Property Names
    Java泛型
    Activity 与 Task
    使用ddns搭建免费服务器
    DDNS
    SimpleAdapter用法
    Java KeyNote
    Android无法访问本地服务器(localhost/127.0.0.1)的解决方案
    Android 添加网络权限
    Java 匿名内部类
  • 原文地址:https://www.cnblogs.com/personsiglewine/p/12988493.html
Copyright © 2020-2023  润新知