[ Elasticsearch ] 启动时报错原因及解决措施


------------恢复内容开始------------

我这里是单点配置在CentOS上的,没有部署集群。

首先,elasticsearch不支持root用户操作,因此需要创建其他的linux用户进行操作。

启动elasticsearch之前应保证虚拟机上已安装JDK。

 

1. Permission denied

  用户没有权限打开 log 文件:

  Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to Permission denied

  Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /home/ekia/elasticsearch/config/elasticsearch.keystore

  解决措施:

  切换至root用户,对当前文件夹执行 chmod 777 -R 指令赋予权限。

  ( ekia 为 elasticsearch 文件所在目录)

[root@localhost ekia]# chmod 777 -R elasticsearch/

 

2. max file descriptors [4096] for elasticsearch process is too low

     用户拥有的可创建文件权限太低

  解决措施:

  使用root用户修改以下文件

vim /etc/security/limits.conf

  增加以下内容:

    soft nofile 65536

    hard nofile 65536

    soft nproc 4096

    hard nproc 4096

  之后修改另一个配置文件:

vim /etc/sysctl.conf

  增加以下内容:   

    fs.file-max = 100000

  并执行下列代码使新配置生效:

# sysctl -p

 

 

3. max number of threads is too low

  用户可用的最大线程数太少了

  解决措施:

  使用root用户修改  /etc/security/limit.d/20-nproc.conf  文件

  (我这里前两行是系统自带的,第三行一定要手动添加,我最终问题就是出现在了第三行。这里感谢一下https://elasticsearch.cn/question/3915里的回答。)

*          soft    nproc     4096 
root       soft    nproc     unlimited
*          hard    nproc     4096

 

4. 启动后通过虚拟机ip地址:9200无法访问

  修改   elasticsearch/config/elasticsearch.yml 中的内容

network.host=0.0.0.0

 

 

目前为止踩了这些坑然后就可以启动啦

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM