Big Data Extension nodes don't appear on Windows Server 2016

Hi,

I have a problem with Big Data Extension. I installed an extension, but the nodes don't appear in Node Repository. I can see it in "KNIME Analytics Platform Installation Details -> Installed Software" (both: Big Data Connectors And Extension for Apache Spark). When I'm trying to open 01_Big_Data_Preprocessing_Example, Knime wants to install required extensions:

"Error during load due to missing nodes (Hive Connector, Hive Loader). Do you want to search and install the required extensions?". When I click "Yes", install window shows up, but "Next" button doesn't work.

I checked .metadata/.log file and I found some errors:

!SESSION 2018-01-08 16:46:37.271 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_152
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

!ENTRY org.knime.bigdata.commons 4 0 2018-01-08 16:46:37.990
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.knime.bigdata.commons [580]
  Unresolved requirement: Require-Bundle: org.apache.hadoop.client; bundle-version="[2.0.0,3.0.0)"
    -> Bundle-SymbolicName: org.apache.hadoop.client; bundle-version="2.7.4.knimebd-20171201"
       org.apache.hadoop.client [564]
         Unresolved requirement: Require-Bundle: org.fusesource.leveldbjni.leveldbjni-all; bundle-version="[1.8.0,1.9.0)"
           -> Bundle-SymbolicName: org.fusesource.leveldbjni.leveldbjni-all; bundle-version="1.8.0"
              org.fusesource.leveldbjni.leveldbjni-all [577]
                Unresolved requirement: Require-Capability: osgi.native; native.paths.0:List<String>="META-INF/native/windows32/leveldbjni.dll"; native.paths.2:List<String>="META-INF/native/osx/libleveldbjni.jnilib"; native.paths.1:List<String>="META-INF/native/windows64/leveldbjni.dll"; native.paths.4:List<String>="META-INF/native/linux32/libleveldbjni.so"; native.paths.3:List<String>="META-INF/native/osx/libleveldbjni.jnilib"; native.paths.5:List<String>="META-INF/native/linux64/libleveldbjni.so"; filter:="(|(&(osgi.native.osname~=Win32)(osgi.native.processor~=x86))(&(osgi.native.osname~=Win32)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=macosx)(osgi.native.processor~=x86))(&(osgi.native.osname~=macosx)(osgi.native.processor~=x86-64))(&(osgi.native.osname~=Linux)(osgi.native.processor~=x86))(&(osgi.native.osname~=Linux)(osgi.native.processor~=x86-64)))"

    at org.eclipse.osgi.container.Module.start(Module.java:444)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1599)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

 

and so on. Full logs in the appendix. I'm using Windows Server 2016, 64-bit, Knime 3.5.1.

Thank you in advance.

Hi,

sorry for the troubles you are having. Have you tried starting KNIME with the "-clean" option? (it needs to be done from a terminal/shell window),e.g.

knime.exe -clean

Does the error still appear when you do this?

Also, did you update your installation from an older KNIME version or is this a fresh installation? If this is an updated installation you could try making a fresh one.

Best,

Björn

 

Hi Björn,

thank you for your answer. I have tried to start KNIME with -clean option, and the error still appears.

Also, I have tried to install that extension in 3 ways:

1. KNIME updated from an older version (from 3.4.1),

2. KNIME self-extracted (without installation),

3. Fresh KNIME, without any additional extensions.

Every time the same error. Of course, always on the same machine. Btw, it is an AWS EC2 machine. Also, I have tried to install that extensions on other machine - PC with Windows 10, 64-bit, and it works, but only on a fresh installalation. It could be a problem with OS?

Hi Elderion,

I have asked around and it seems there is a known issue with KNIME on Windows 2016 Server, that looks like it could be the cause. The suggested workaround is to add the following line to your knime.ini (in the KNIME installation folder):

-Dorg.osgi.framework.os.name=Windows7

The underlying cause seems to be Eclipse. Since KNIME is currently built on Eclipse 4.6.1 it fails to detect the Windows 2016 Server OS correctly, because it did not exist at the time that this particular Eclipse version was released.

Hope this helps,

Björn

 

It works! Thank you, very, very much Björn!