Unable to start Dremio on Windows

Hi,
i try to start Dremio on Windows but get the following m:essage:

2017-09-25 17:13:54,321 [main] INFO c.d.s.fabric.FabricServiceImpl - fabric service has 104857600 bytes reserved
2017-09-25 17:13:54,387 [main] INFO c.dremio.dac.daemon.DACDaemonModule - Internal user/group service is configured.
2017-09-25 17:13:54,761 [main] INFO com.dremio.dac.daemon.ZkServer - Starting Zookeeper
2017-09-25 17:13:55,771 [main] INFO com.dremio.dac.daemon.ZkServer - Zookeeper is up at localhost:2181
2017-09-25 17:13:55,900 [main] INFO c.d.s.coordinator.zk.ZKClusterClient - Starting ZKClusterClient
2017-09-25 17:13:55,925 [Curator-ConnectionStateManager-0] INFO c.d.s.coordinator.zk.ZKClusterClient - ZK connection state changed to CONNECTED
2017-09-25 17:13:56,007 [main] INFO c.d.s.c.zk.ZKClusterCoordinator - ZKClusterCoordination is up
2017-09-25 17:13:56,007 [main] INFO c.d.d.s.exec.MasterStatusListener - Starting MasterStatusListener with master node localhost:45678
2017-09-25 17:13:56,008 [main] INFO c.d.d.s.exec.MasterStatusListener - MasterStatusListener is up localhost:45678
2017-09-25 17:13:56,138 [main] INFO c.d.services.fabric.FabricServer - [FABRIC]: Server started on port 45678.
2017-09-25 17:13:56,140 [main] INFO c.d.datastore.LocalKVStoreProvider - Starting LocalKVStoreProvider
2017-09-25 17:13:56,163 [main] ERROR c.dremio.common.CatastrophicFailure - Catastrophic Failure Occurred, exiting. Information message: Failed to start services, daemon exiting.
java.lang.ExceptionInInitializerError: null
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.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.datastore.CoreStoreProviderImpl.start(CoreStoreProviderImpl.java:165) ~[dremio-services-datastore-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.datastore.LocalKVStoreProvider.start(LocalKVStoreProvider.java:84) ~[dremio-services-datastore-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.service.SingletonRegistry$AbstractServiceReference.start(SingletonRegistry.java:137) ~[dremio-common-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.service.ServiceRegistry.start(ServiceRegistry.java:74) ~[dremio-common-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.service.SingletonRegistry.start(SingletonRegistry.java:33) ~[dremio-common-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.dac.daemon.DACDaemon.startServices(DACDaemon.java:170) ~[dremio-dac-backend-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.dac.daemon.DACDaemon.init(DACDaemon.java:176) ~[dremio-dac-backend-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:110) [dremio-dac-daemon-1.1.0-201708121825170680-436784e.jar:1.1.0-201708121825170680-436784e]
Caused by: java.lang.UnsupportedOperationException: Cannot determine JNI library name for ARCH=‘x86’ OS=‘windows 7’ name='rocksdb’
at org.rocksdb.util.Environment.getJniLibraryName(Environment.java:58) ~[rocksdbjni-5.3.6.jar:na]
at org.rocksdb.NativeLibraryLoader.(NativeLibraryLoader.java:19) ~[rocksdbjni-5.3.6.jar:na]

Does anybody know what could I do?

Thanks.
Violetta

Dremio only supports Windows x64 editions. You also need a 64bits Java runtime installed. (From the logs it looks like you are running it on a x86 edition of Windows/Java).

Hi Laurent,
I have Windows x64 and 64bits Java runtime on this PC.

You might have a x86 edition of Java installed on your machine, newer than the x64 one. In some cases, the Dremio program might pick up the wrong Java edition. We will try to come with a better way of using the correct edition of Java. Meanwhile you can try the following workarounds:

  • uninstall the x86 edition of Java
  • install an up-to-date version of the x64 edition of Java. It should then take precedence over the x86 edition. You should be able to check the default Java edition with the following steps:
    – Click on Start to open the Start menu, and enter Command in the search box
    – Click on Command Prompt to open a terminal
    – Enter the following command: C:\ProgramData\Oracle\Java\javapath\java.exe -version. It should print Java HotSpot(TM) 64-Bit Server VM

@laurent

I am getting the same catastrophic failure. I tested my system using the cmd line and it shows Java HotSpot 64-Bit Server VM…

Any ideas?

Try to download our latest Dremio version. The issue should have been fixed.

Hi,

I could solved this Problem with follow startup.bat :

@echo off
set JAVA_HOME=C:\Java\jdk1.8.0_131
set PATH=%JAVA_HOME%\bin;%PATH%
Dremio.exe

Thanks for advice

Download and installed 1.2.1 just now and Dremio will not start. Stuck with “Dremio is starting up”

Check Java version. I have only 64bit installed

java version "1.8.0_141"
Java™ SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot™ 64-Bit Server VM (build 25.141-b15, mixed mode)

In the server log file, it stopped after LocalKVStoreProvider is up

2017-10-04 09:51:53,405 [main] INFO c.d.datastore.LocalKVStoreProvider - Starting LocalKVStoreProvider
2017-10-04 09:51:57,536 [main] INFO c.d.datastore.LocalKVStoreProvider - LocalKVStoreProvider is up

Can you also provide the content of server.out?

Sure.

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by javassist.ClassPool (file:/C:/Program%20Files/Dremio/jars/3rdparty/javassist-3.19.0-GA.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of javassist.ClassPool
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Exception in thread “main” java.lang.NoClassDefFoundError: sun/misc/VM
at com.dremio.common.config.SabotConfig.(SabotConfig.java:49)
at com.dremio.config.DremioConfig.create(DremioConfig.java:225)
at com.dremio.config.DremioConfig.create(DremioConfig.java:220)
at com.dremio.dac.server.DacConfig.newConfig(DacConfig.java:207)
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:84)
Caused by: java.lang.ClassNotFoundException: sun.misc.VM
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
… 5 more

At that time, Dremio (both server and JDBC clients) are not compatible with Java9. We identified several issues we hope to fix in the next release.

You might have both Java8 and Java9 installed on your machine, and the application is probably trying to use the most recent version. If possible, you should try to uninstall Java9 from your system.

Ok. I uninstalled Java9. Uninstalled Dremio. Reinstalled Dremio. It is working again. Thank for your help.

I still can’t get it to work:

Catastrophic failure occurred. Exiting. Information follows: Failed to start services, daemon exiting.
java.lang.ExceptionInInitializerError
at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64)
at org.rocksdb.RocksDB.(RocksDB.java:35)
at com.dremio.datastore.ByteStoreManager.start(ByteStoreManager.java:121)
at com.dremio.datastore.CoreStoreProviderImpl.start(CoreStoreProviderImpl.java:165)
at com.dremio.datastore.LocalKVStoreProvider.start(LocalKVStoreProvider.java:84)
at com.dremio.service.SingletonRegistry$AbstractServiceReference.start(SingletonRegistry.java:137)
at com.dremio.service.ServiceRegistry.start(ServiceRegistry.java:74)
at com.dremio.service.SingletonRegistry.start(SingletonRegistry.java:33)
at com.dremio.dac.daemon.DACDaemon.startServices(DACDaemon.java:170)
at com.dremio.dac.daemon.DACDaemon.init(DACDaemon.java:176)
at com.dremio.dac.daemon.DremioDaemon.main(DremioDaemon.java:110)
Caused by: java.lang.UnsupportedOperationException: Cannot determine JNI library name for ARCH=‘x86’ OS=‘windows 7’ name='rocksdb’
at org.rocksdb.util.Environment.getJniLibraryName(Environment.java:58)
at org.rocksdb.NativeLibraryLoader.(NativeLibraryLoader.java:19)
… 11 more

Which version of Dremio are you using? Can you try with Dremio 1.2.1 if you haven’t done so yet?

I am using 1.2.1…

Can you confirm a few things so we can try to reproduce the issue on our side?

  • verify the Dremio version: open C:\Program Files\Dremio\lib\jars in Explorer. The folder should contains a file named named dremio-common-<version>.jar. Can you report the full version?
  • list all the Java JDK installed on your machine: Go to Control Panel > Programs > Programs and Features to list all installed programs on your system, and please report all Java programs.
  1. dremio-common-1.2.1-201710030121530889-8e49316.jar

  2. Java 7 Update 76, Java 8 Update 45, Java 8 Update 141, Java 8 Update 141 (64-Bit), Java 8 Update 144 (64-Bit), Java™ 6 Update 45

Hello.

I upgrade to Dremio 1.2 and now Dremio does not start any more.
I checked C:\Program Files\Dremio\lib\jars and I have file:dremio-common-1.2.1-201710030121530889-8e49316.jar.
I only have Java 8 (Jre 8.0_144) installed.
I do have the Dremio connector installed before.

Do I need to add java path to path?

Any help is greatly appreciated.

Thanks you.
Nabil

Just to follow up with my issue (posted above). I had to uninstall Dremio 1.2. I also uninstalled Dremio connector that I had running before the upgrade. I then reinstalled Dremio 1.2. I started the service. It took some abnormal amount of time to get the service started. I almost canceled it. It looks like you have to be a little patient with it (at least the first time after the install).

Thanks.
Nabil

Hi Nabil,

Sorry for getting back to you later. Glad you were able to get Dremio up and running. Kindly let us know if you have any other issues?

Thanks,
Balaji