Run Apache Ignite in Docker container as non-root user

6/13/2019

"Lock is being held to root directory" error when running Ignite container as non-root user.

Created new user and gave user permission for $IGNITE_HOME (/opt/ignite) recursively.

Exception in thread "main" class org.apache.ignite.IgniteException: Failed to start processor: GridProcessorAdapter []
at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)

... 5 more
Caused by: class org.apache.ignite.IgniteCheckedException: **Unable to start under DB storage path [/opt/ignite/persistence]. Lock is being held to root directory**

Should not get "lock" error

-- bladerunner512
docker
ignite
kubernetes

1 Answer

6/14/2019
  • Make sure /opt/ignite is writable by the user which runs Ignite.
  • Enable INFO logging and search for "Unable to acquire lock to file" messages, which have more precise reason.
  • Make sure you're not starting more than one node on the same FS!
  • Maybe there are some lock files remaining, owned by root. Delete them.
-- alamar
Source: StackOverflow