1. 程式人生 > >elasticsearch 啟動報錯 Exception in thread "main" java.nio.file.AccessDeniedException:

elasticsearch 啟動報錯 Exception in thread "main" java.nio.file.AccessDeniedException:

系統:操作centos7 (虛擬機器)

./bin/elasticsearch,啟動報錯

[[email protected] software]$ ./elasticsearch-6.3.1/bin/elasticsearch
Exception in thread "main" java.nio.file.AccessDeniedException: /home/es1/software/elasticsearch-6.3.1/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)
	at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:58)

錯誤原因:使用非 root使用者啟動ES,而該使用者的檔案許可權不足而被拒絕執行。

解決方法: chown -R 使用者名稱:使用者名稱 檔案(目錄)名

例如: chown -R es1:es1 searchengine

重啟es

繼續報錯,報錯內容如下

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N

將處理器核心數改成2,重啟後可正常執行。若不成功,將處理器數量也改成2。

在虛擬機器的設定中,將處理器的處理器核心數量改成2,重新執行啟動命令後,能夠正常執行。若還是未能執行成功,可進一步將處理器數量也改成2。