NodePit Runner

Run Your Workflows Around The Clock!

Frequently Asked Questions

This page contains answers to our most frequently asked questions. If you cannot find what you are looking for, please get in touch with us.

In which way are you affiliated with the KNIME AG?

We are not affiliated with the KNIME AG. We deliberately are not a “KNIME Partner”, but an independent company. We strongly believe that only this way we can provide you with the best and most innovative solutions and services and avoid any conflicts of interest which would stem from a coupling with the KNIME AG.

My runs fail with workflows containing visualization nodes. What shall I do?

If you are using KNIME nodes from the KNIME Views or KNIME JavaScript Views extensions such as the Line Plot or Line Plot (JavaScript) nodes in your workflow, runs may fail with one of the following errors:

  • ERROR:elf_dynamic_array_reader.h(64) tag not found
  • Execute failed: No more handles [gtk_init_check() failed]

This is caused by a bug in the underlying Chromium browser embedded in the KNIME Views and KNIME JavaScript Views extensions and can be solved as follows:

  1. Open the “Environment” menu and select the environment you'd like to use to run your workflow.

  2. Use the “Extension Search” to add the extension KNIME Bundled Chromium Browser (legacy).

  3. Under “Preference Entries”, manually add the following preferences:

    • /instance/org.knime.js.core/js.core.headlessBrowser=org.knime.ext.seleniumdrivers.multios.ChromiumImageGenerator
    • /instance/org.knime.js.core/js.core.viewBrowser=org.knime.ext.seleniumdrivers.multios.ChromiumWizardNodeView
  4. Save your environment and re-run your schedule successfully.

My runs fail because of insufficient Java heap space. How can I increase it?

KNIME runs with a fairly low heap space limit by default. If you're getting java.lang.OutOfMemoryError: Java heap space errors during runs, you need to increase the Java heap space in your environment. This can easily be done as follows:

  1. Open the “Environment” menu and select the environment for which you'd like to increase the heap space.

  2. Go to section “Additional vmargs” and add a new parameter -Xmx4g (e.g. here you set the available heap space to 4 GB). Make sure that the value corresponds to the available memory on your host machine.

  3. Save your environment and re-run your schedule successfully.

How do I add R to my environment?

If you need the R programming language in your environment, for example because your KNIME workflow contains nodes from KNIME Interactive R Statistics Integration, you can easily install R as follows:

  1. Open the “Environment” menu and select the environment for which you'd like to install R for.

  2. Go to section “Additional Dockerfile Instructions” and add the below snippet. This will install r-base and Rserve into your environment. R is then available via /usr/lib/R and should be automatically discovered by the KNIME Interactive R Statistics nodes.

    RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq r-base && rm -rf /var/lib/apt/lists/* && R -e "install.packages('Rserve',,'http://rforge.net/',type='source')"
  3. Save your environment and run your schedule.

How do I run the Selenium Nodes?

To run Selenium Nodes workflows for web scraping, task automation, or testing with the NodePit Runner, the following steps are needed:

  1. Make sure to select “Chrome for Testing (bundled)” in your workflow’s Start WebDriver or WebDriver Factory node.

  2. Open the “Environment” menu and create a new environment or chose an existing one to edit.

  3. Use the “Extension Search” to add the extensions Selenium Nodes for KNIME and Selenium Nodes for KNIME: Chrome for Testing.

  4. Under “Preference Entries”, manually add a preference entry /instance/com.nodepit.licensing.plugin/ws.palladian.nodes.selenium.plugin= with your license code as value. You’ll need to manually edit the license key before pasting it so that it is on one single line: Replace line breaks with \n and prepend = characters with a \, i.e. \=

  5. Under “Additional vmargs” add the following:

    -Dseleniumnodes.chromium.args='--headless=new --no-sandbox --disable-dev-shm-usage'
  6. Save your environment and run your schedule.

In case of questions, please reach out to mail@nodepit.com — we’re happy to help!

Where do I find the REST API?

NodePit Runner can be fully controlled via its REST API. When running NodePit Runner locally, the OpenAPI specification can be found via http://localhost:8080/api/docs/json, a Swagger UI is accessible via http://localhost:8080/api/docs/.

For authorization, please request the POST /users/login operation to receive a valid JWT token which can be used to access all other operations. You can then provide the JWT token as header Authorization: Bearer <token> in your requests.

We also provide the NodePit Runner Nodes to control NodePit Runner from within the KNIME Analytics Platform. An example workflow including authentication and data collection can be found here.

Can I use the Python scripting nodes within my workflows?

Using Python scripting nodes is generally possible. We strongly recommend to use the new Python nodes which simplify the setup and portability, as they include a bundled Python environment.

In contrast, the “Python (legacy)” nodes require you to setup Python yourself, which is tedious and brittle – while theoretically possible, we advice against this and cannot give any official support for that.

If you have workflows using the “legacy” nodes, you can usually migrate them to the new Python nodes with a few simple modifications. Please see here for more details.

To install the Python nodes within your environment, perform the following steps:

  1. Open the “Environment” menu and create a new environment or chose an existing one to edit.

  2. Use the “Extension Search” to add the extension KNIME Python Integration. Make sure that the feature org.knime.features.python3.scripting.feature.group has been added.

  3. Under “Preference Entries”, manually add a preference entry /instance/org.knime.python3.scripting.nodes/pythonEnvironmentType=bundled.

In case of questions, please reach out to mail@nodepit.com — we’re happy to help!

I’m running my Executor on an ARM Mac and my runs fail with “Errors were encountered while processing: ca-certificates”

This seems to be a bug with Rosetta on M2 and M3 processors. For now, please disable the option Use Rosetta for x86_64/amd64 emulation on Apple Silicon in your Docker Desktop settings (see here).

How can I change the database password for an already running, deployed instance?

Assuming that you use the setup instructions from here, you can perform the following steps if you need to change the MongoDB password of an already running instance:

  1. Stop the API container:

     docker compose stop api 
  2. Use the MongoDB shell to change the password:

     docker compose exec mongodb mongosh -u root -p
    # enter your current DB password
    use admin
    db.changeUserPassword('root', passwordPrompt())
    # enter your new DB password
    exit
  3. Update docker-compose.yml → api → DB_URL and replace the existing password with the newly chosen one.

  4. Start the API container with the updated changes:

     docker compose up -d api