------------恢复内容开始------------
我这里是单点配置在CentOS上的,没有部署集群。
首先,elasticsearch不支持root用户操作,因此需要创建其他的linux用户进行操作。
启动elasticsearch之前应保证虚拟机上已安装JDK。
用户没有权限打开 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/
用户拥有的可创建文件权限太低
解决措施:
使用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
用户可用的最大线程数太少了
解决措施:
使用root用户修改 /etc/security/limit.d/20-nproc.conf 文件
(我这里前两行是系统自带的,第三行一定要手动添加,我最终问题就是出现在了第三行。这里感谢一下https://elasticsearch.cn/question/3915里的回答。)
* soft nproc 4096 root soft nproc unlimited * hard nproc 4096
修改 elasticsearch/config/elasticsearch.yml 中的内容
network.host=0.0.0.0
目前为止踩了这些坑然后就可以启动啦
[ Elasticsearch ] 启动时报错原因及解决措施
原文:https://www.cnblogs.com/fydra/p/12939915.html