Startup failing... librocksdb

Hello. I’m attempting to install the latest community version and getting an error related to librocksdb. Thoughts?

Installed:
dremio-community.noarch 0:1.3.1-201712020438070881_a7af5c8_1

Java:

[ec2-user@ip-00-00-00-00 ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Error:

2018-01-12 14:55:38,965 [main] ERROR c.dremio.common.CatastrophicFailure - Catastrophic Failure Occurred, exiting. Information message: Failed to start services, daemon exiting.
java.lang.UnsatisfiedLinkError: /tmp/librocksdbjni139659061814328731.so: /tmp/librocksdbjni139659061814328731.so: failed to map segment from shared object: Operation not permitted
at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[na:1.8.0_151]
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) ~[na:1.8.0_151]
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) ~[na:1.8.0_151]
at java.lang.Runtime.load0(Runtime.java:809) ~[na:1.8.0_151]
at java.lang.System.load(System.java:1086) ~[na:1.8.0_151]
at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78) ~[rocksdbjni-5.3.6.jar:na]
at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56) ~[rocksdbjni-5.3.6.jar:na]
at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64) ~[rocksdbjni-5.3.6.jar:na]
at org.rocksdb.RocksDB.(RocksDB.java:35) ~[rocksdbjni-5.3.6.jar:na]
at com.dremio.datastore.ByteStoreManager.start(ByteStoreManager.java:121) ~[dremio-services-datastore-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.datastore.CoreStoreProviderImpl.start(CoreStoreProviderImpl.java:167) ~[dremio-services-datastore-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.datastore.LocalKVStoreProvider.start(LocalKVStoreProvider.java:86) ~[dremio-services-datastore-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.service.SingletonRegistry$AbstractServiceReference.start(SingletonRegistry.java:137) ~[dremio-common-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.service.ServiceRegistry.start(ServiceRegistry.java:74) ~[dremio-common-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.service.SingletonRegistry.start(SingletonRegistry.java:33) ~[dremio-common-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.dac.daemon.DACDaemon.startServices(DACDaemon.java:171) ~[dremio-dac-backend-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.dac.daemon.DACDaemon.init(DACDaemon.java:177) ~[dremio-dac-backend-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:172) [dremio-dac-daemon-1.3.1-201712020438070881-a7af5c8.jar:1.3.1-201712020438070881-a7af5c8]

If you use a special mount point for /tmp, make sure it is mounted so that you can run executables from it (check manpages for mount(8) and look at the exec/noexec flag).

Alternatively, you can choose an alternative directory by editing dremio-env, and adding a system property -Djava.io.tmpdir=<directory> to the environment variable DREMIO_JAVA_EXTRA_OPTS.

1 Like

Thank you laurent you save me lot :grinning: