ERROR ROOT - Dremio is exiting. Failure while starting services. java.lang.UnsatisfiedLinkError: /tmp/

Hello,

I have the following error when starting the Dremio service:

[main] ERROR ROOT - Dremio is exiting. Failure while starting services.
java.lang.UnsatisfiedLinkError: /tmp/librocksdbjni4923638441609242072.so: /tmp/librocksdbjni4923638441609242072.so: failed to map segment from shared object
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
        at java.lang.Runtime.load0(Runtime.java:782)
        at java.lang.System.load(System.java:1100)
        at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78)
        at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56)
        at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64)
        at org.rocksdb.RocksDB.<clinit>(RocksDB.java:35)
        at org.rocksdb.Options.<clinit>(Options.java:25)
        at com.dremio.datastore.ByteStoreManager.start(ByteStoreManager.java:206)
        at com.dremio.datastore.CoreStoreProviderImpl.start(CoreStoreProviderImpl.java:148)
        at com.dremio.datastore.LocalKVStoreProvider.start(LocalKVStoreProvider.java:187)
        at com.dremio.dac.cmd.upgrade.Upgrade.run(Upgrade.java:184)
        at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:99)
        Suppressed: java.lang.IllegalStateException: #start was not invoked, so metadataManager is not available

I already identified that it is because the /tmp directory has the noexec option active and it should be for security reasons.

My question is: Where can I change the destination of these temporary files?

I didn’t find any information in the documentation.

@Jduarte1081 In your dremio-env file, add the below

DREMIO_JAVA_EXTRA_OPTS="-Djava.io.tmpdir=/path/to/tmp"

It’s works, thank you @balaji.ramaswamy !!