Jim
Jim

Reputation: 1608

Elasticsearch after change path.data, unable to access 'default.path.data'

I want to change path.data to other path, and I already have some data in the elasticsearch.

I follow How to move elasticsearch data directory? And restart elasticsearch, the error occurred.

My elasticsearch version is elasticsearch-5.6.1. And here is my log in /var/log/elasticsearch

java.lang.IllegalStateException: Unable to access 'default.path.data' (/var/lib/elasticsearch) at org.elasticsearch.bootstrap.Security.addPath(Security.java:444) ~[elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:322) ~[elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:240) ~[elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Security.configure(Security.java:118) ~[elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:228) ~[elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.1.jar:5.6.1] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.1.jar:5.6.1] Caused by: java.nio.file.AccessDeniedException: /var/lib/elasticsearch at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[?:1.8.0_131] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:1.8.0_131] at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:1.8.0_131] at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) ~[?:1.8.0_131] at java.nio.file.Files.createDirectory(Files.java:674) ~[?:1.8.0_131]

After digging into it, I found https://github.com/elastic/elasticsearch/issues/25265.

I want to know that is there workaround to fix this issue? or I need to wait for version 6.0.0?

Upvotes: 0

Views: 14502

Answers (1)

Jim
Jim

Reputation: 1608

After digging into it, I find the answer.

Removed the "-Edefault.path.data=${DATA_DIR} " parameter from the startup command and everything works fine again.

My environment is Ubuntu 16.04 and install ES from RPM/DEB.

The path of startup command in /etc/init.d/elasticsearch and I also alter /usr/lib/systemd/system/elasticsearch.service and then service restart. Problem solved.

By the way, if I also face permission problem of path data. To resolve it by

sudo chown -R elasticsearch:elasticsearch /your/data/path

Hope these helpful!

Upvotes: 7

Related Questions