Problem with H2O version 3.22.0.2

Hi all,
I tried to get the KNIME H2o extension up and running with a local h2o.

  • installed H2o extension (my KNIME is 3.6.1 on Mac).
  • Downloaded H2o latest stable version (3.22.0.2) and started it -> http://localhost:54321/ did work
  • tried to run KNIME example workflow from example server. The node H2O Local Context throwed a config error Configure failed (IllegalArgumentException): No context handler of type org.knime.ext.h2o.local.H2OLocalContextHandler with version 3.20.0.2 found.
    The same happened when I tried to drag this node into a blank workflow.
  • I also tried to specify the H2O version in KNIME settings, however the corresponding input field is not input-ready.

Any idea, what is wrong here? (sorry, I have no experience with H2O so far)
Best regards, Tobias

There is no need for an additional h2o version with knime. And if you have a different h2o cluster running it might cause problems as the node will try to use the already running one.

Stop your standalone h2o cluster and try just to use the knime workflow.

Thanks for super-fast response! However, your advice did not change anything.
In fact, I first tried to run H2O within KNIME without a separate H2O installation.

Now I uninstalled the H2O extension, stopped separate H2O instance, re-installed extension again.
-> the error still occurred.
Only a clean, new install of KNIME Analytics platform did solve the problem, now everything seems to work!

BR, Tobias

1 Like

Glad to hear that. H2O comes in different ‘flavours’ as a standalone package, in Python and in R and also KNIME. I used to experience problems when I had an H2O cluster running with one version and tried to use H2O from within another program. H2O then tries to connect to the already running cluster and if the versions do not match you would get and error message like the one you had.

Standard R packages and Anaconda/Python packages of H2O do differ in their version numbers and KNIME uses its own version.

Typically it would help to shut down the cluster in one program and initiate it in the one you want to use if you want to have H2O in all your analytical programs.

In R it would look like
h2o.shutdown(prompt = TRUE)

Please note that once you shutdown the H2O cluster in one program it will be down for every other one and all the data you have in there will be lost.

h2o.init() would try to start an H2O cluster and if one is already running would try to connect to it.

h2o.clusterStatus() will give you the current status of the cluster. (On Python this is h2o.cluster().show_status(True))

Sometimes I experienced ‘complaints’ by R that if I use H2O from more than one R instance that there are ‘leaks’ and R would not work properly. So maybe it is best to keep the usage of H2O on one machine restricted to one instance at a time. If you would have to use it with al lot of parallel workflows you might want to have a look at KINIME’s integration of H2O Sparkling Water.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.