I deployed a Cassandra service via NixOps and got the following error in the Cassandra log:
Mar 06 17:49:04 server1 cassandra[2780]: Exception (org.apache.cassandra.exceptions.ConfigurationException) encountered during startup: Unable to check disk space available to /data1/cassandra/commitlog. Perhaps the Cassandra user does not have the necessary permissions
Mar 06 17:49:04 server1 cassandra[2780]: org.apache.cassandra.exceptions.ConfigurationException: Unable to check disk space available to /data1/cassandra/commitlog. Perhaps the Cassandra user does not have the necessary permissions
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.applySimpleConfig(DatabaseDescriptor.java:475)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:316)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:148)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:132)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:665)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:609)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:732)
Mar 06 17:49:04 server1 cassandra[2780]: Caused by: java.nio.file.AccessDeniedException: /data1/cassandra/commitlog
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixFileStore.devFor(UnixFileStore.java:57)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:64)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:44)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39)
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:368)
Mar 06 17:49:04 server1 cassandra[2780]: at java.nio.file.Files.getFileStore(Files.java:1461)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.io.util.FileUtils.getFileStore(FileUtils.java:667)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.guessFileStore(DatabaseDescriptor.java:1029)
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.applySimpleConfig(DatabaseDescriptor.java:470)
Mar 06 17:49:04 server1 cassandra[2780]: ... 6 more
Mar 06 17:49:04 server1 cassandra[2780]: ERROR 16:49:04 Exception encountered during startup
Mar 06 17:49:04 server1 cassandra[2780]: org.apache.cassandra.exceptions.ConfigurationException: Unable to check disk space available to /data1/cassandra/commitlog. Perhaps the Cassandra user does not have the necessary permissions
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.applySimpleConfig(DatabaseDescriptor.java:475) ~[apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.applyAll(DatabaseDescriptor.java:316) ~[apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:148) ~[apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:132) ~[apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.service.CassandraDaemon.applyConfig(CassandraDaemon.java:665) [apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:609) [apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:732) [apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: Caused by: java.nio.file.AccessDeniedException: /data1/cassandra/commitlog
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixFileStore.devFor(UnixFileStore.java:57) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:64) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:44) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:368) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at java.nio.file.Files.getFileStore(Files.java:1461) ~[na:1.8.0_242]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.io.util.FileUtils.getFileStore(FileUtils.java:667) ~[apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.guessFileStore(DatabaseDescriptor.java:1029) ~[apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: at org.apache.cassandra.config.DatabaseDescriptor.applySimpleConfig(DatabaseDescriptor.java:470) ~[apache-cassandra-3.11.4.jar:3.11.4]
Mar 06 17:49:04 server1 cassandra[2780]: ... 6 common frames omitted
Mar 06 17:49:04 server1 systemd[1]: cassandra.service: Main process exited, code=exited, status=3/NOTIMPLEMENTED
Mar 06 17:49:04 server1 systemd[1]: cassandra.service: Failed with result 'exit-code'.
Mar 06 17:49:04 server1 systemd[1]: cassandra.service: Consumed 2.189s CPU time, no IP traffic.
the cause is that there are no settings on the owner group of /data1
[root@server1:~]# ls -l /
total 60
drwxr-xr-x 2 root root 4096 Mar 6 17:49 bin
drwxr-xr-x 4 root root 4096 Jan 1 1970 boot
drwx------ 3 root root 4096 Mar 6 17:49 data1
to reproduce:
{ config, ...}:
let
commitRev = "82b54d490663b6d87b7b34b9cfc0985df8b49c7d"; # unstable on 06-03-2020
nixpkgs = builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs-channels/archive/${commitRev}.tar.gz";
sha256 = "12gpsif48g5b4ys45x36g4vdf0srgal4c96351m7gd2jsgvdllyf";
};
pkgs = import nixpkgs { config = {}; };
in
{
services.cassandra = {
enable = true;
homeDir = "/data1/cassandra";
extraConfig = {
start_native_transport = true;
};
};
}
I deployed a Cassandra service via NixOps and got the following error in the Cassandra log:
the cause is that there are no settings on the owner group of
/data1to reproduce: