1. AccessDeniedException: /opt/elasticsearch-7.0.0/config/elasticsearch.keystore
原因:ES只能使用非root的用户进行使用。
解决方案:将用户切换为非root进行使用
2.`Exception in thread “main” java.nio.file.AccessDeniedException: /root/home/searchengine/elasticsearch-6.2.4/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)`
原因:ES使用非root用户启动,未给该用户赋予所需的文件权限。
解决方案:切换至root用户并赋予该用户ES所在的文件夹权限。
具体操作:chown -R 用户名 文件夹名
3.ElasticSearch启动报错,bootstrap checks failed
[INFO ][o.e.b.BootstrapChecks ] [gFOuNlS] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
原因:用户可以打开的最大的文件描述符数量超过上限
[INFO ][o.e.b.BootstrapChecks ] [gFOuNlS] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方案:编辑 /etc/security/limits.conf,追加以下内容
- soft nofile 65536
- hard nofile 65536
以上两个表示任何一个用户可以打开的最大的文件描述符数量
此文件修改后需要重新登录用户,才会生效
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案:编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p
重新启动,成功。