问题一:SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: MarkedYAMLException[while scanning a simple key
原因是:elasticsearch.yml配置文件中,每一个冒号中要有一个空格。
解决方式:将IP地址前面加一个空格。
问题二:can not run elasticsearch as root
[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-01] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
解决方式:切换非root用户,启动
问题三:/opt/module/elasticsearch-6.1.1/logs/my-application.log (Permission denied)
ERROR RollingFileManager (/opt/module/elasticsearch-6.1.1/logs/my-application.log) java.io.FileNotFoundException: /opt/module/elasticsearch-6.1.1/logs/my-application.log (Permission denied)
此原因是:在第一次用root用户启动,会以root用户权限自动生成log文件。
解决方式:将 Elasticsearch 赋予非root用户权限。
chown -R elasticsearch ./elasticsearch-6.1.1/
或者删除logs/*,data/*文件的内容。
问题四:ERROR: bootstrap checks failed
ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
原因:上面 “5)配置linux系统环境”,编辑 limits.conf 文件时,相关内容前面未加 “ * ” 导致,后修改完成后,还是报此错误,此文件修改后需要重新登录用户,才会生效。
解决:切换到root用户,编辑limits.conf 添加类似如下内容
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
此文件修改后需要重新登录用户,才会生效。
问题五:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。
vi /etc/security/limits.d/20-nproc.conf
备注:/etc/security/limits.d目录下有的文件名交90-nproc.conf,我的是20-nproc.conf,视情况改。
修改如下内容:
soft nproc 1024
#修改为
soft nproc 2048
问题六:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。