Introduction
KNIME Server is an enterprise-grade solution for Advanced Analytics workloads such as sharing workflows, and executing workflows. The Server is based on the Tomcat application server, and uses a core of KNIME Analytics Platform in order to execute workflows. The KNIME Server installer can install both of these components that make up KNIME Server. This document aims to give a quick overview of the steps needed to perform the installation, and a short description of the options that can be changed at install time. After installation, you can refer to the KNIME Server Administration Guide for detailed information about the Server architecture, configuration options and general administration tasks. More details about the functionality of KNIME Server are listed in the following paragraphs.
KNIME Server provides KNIME software users with a shared remote workflow repository. Workflows can be uploaded to and stored on the server or retrieved from it to a local KNIME workspace. Workflows on the server can be executed as jobs either as needed or as part of a one time or periodically scheduled event. Additionally, workflows may be executed through a web browser using the KNIME WebPortal or via generic SOAP or RESTful web service interfaces which allow control from 3rd party applications. The KNIME Explorer view, which is built into KNIME Analytics Platform can be used to log into remote repositories, control user access permissions and schedule workflow execution tasks.
KNIME Server consists of two components: a server side component and a client interface. The server side component is installed on an application server (Tomcat) together with a KNIME Analytics Platform installation which will be responsible for executing workflows. The latter is referred to as "Executor". The client interface allows interaction with the server repository and is integrated in KNIME Analytics Platform (via the KNIME ServerSpace extension), and KNIME WebPortal, or accessible via the REST API.
Prerequisites
Server
-
The operating system on the server can be either Windows, Linux, or macOS. The following operating systems are officially supported:
-
Windows Server 2016, 2019
-
Ubuntu 16.04 LTS, and 18.04 LTS and derivatives
-
RHEL/CentOS 6.7+ and 7.x
The server may also run on other operating systems, however, we neither test nor support them through the KNIME Server standard support package.
-
-
We strongly recommend a 64bit operating system with at least 16GB RAM and 8 CPU cores
-
Java Development Kit (JDK) 8, Hotspot, 64bit
A recent update of Java to version 8u272 will cause KNIME Server installations to no longer be able to connect to a secured LDAP authentication system. we recommend not updating the Java installation to version 8u272 on your KNIME Server. If you have already done this, we suggest you revert it. If you run into any issues or need further information please contact the KNIME support team at support@knime.com. -
Ubuntu 16.04 / 18.04:
sudo apt-get install -y openjdk-8-jdk
-
RHEL/CentOS 6.7+ & 7: install
java-1.8.0-openjdk-devel
via the package manager -
For all other OS please download and install the latest Hotspot OpenJDK 8 (LTS) from the AdoptOpenJDK Website
-
Note that JDK >= 9 and OpenJ9 JVM is not supported at this time.
-
-
Local hard disk for workflow repository partition (SSD class — or equivalent)
-
250GB disk space on the workflow repository partition
For generation of images using the Chromium extension the following additional extensions are required under Linux:
-
Ubuntu:
sudo apt install -y libgtk-3-0
-
RHEL 7/CentOS:
sudo yum install libXScrnSaver
Client
-
Operating system Windows, Linux, or macOS (independent from the server OS)
The installation owner
We recommend that both the Tomcat server as well as the KNIME Server Executor are
installed by the same user. This user does not need administration privileges.
The recommended user name is knime
. No other user requires write access to any
files created during the installation.
This user must do the entire KNIME Server Executor installation including unpacking of KNIME Analytics Platform and installation of all desired additional features. If additional features are added later with a user that cannot write to the installation folder, the installation may appear to work normally, but causes problems some time later which can be difficult to track down. |
Installation
It is recommended that the entire installation process is performed by the same
user, e.g knime
(see The installation owner above). Don’t install the
server as Administrator
or root
user! Follow the installation instructions step
by step. Don’t skip anything unless it is marked as optional.
The KNIME Server installer is a single JAR file that works on all supported platforms (Windows, Linux, macOS). Use of the JAR file is described in the following sections.
Summary
We briefly describe the installation options available in this guide. For full details about any of the options see the KNIME Server Administration Guide.
Before you start, make sure that the Java 8 JDK is installed (see Prerequisites).
Launch the installer
The installer is called knime-server-installer-4.x.y.jar
(where x.y
is the
current release number). The installer can be run by issuing the command (at the
Linux terminal, or cmd.exe
prompt):
java -jar knime-server-installer-4.x.y.jar
Issuing the command will launch the installer GUI:
It is also possible to step through the installation via the command line. In this case issue the command:
java -jar knime-server-installer-4.x.y.jar -console
Path to the system’s JDK location
The Java JDK version must be 1.8.x, and you should use the browse button to the
select the folder that contains the bin
folder.
Path to the installation folder
The installation folder will (by default) contain all of the files that KNIME requires, which includes Tomcat, the KNIME Server Executor and the KNIME Server repository. The installation folder should be empty, and if it does not exist will be created. If prompted choose OK.
KNIME Server Executor configuration
There are three options to choose from:
-
-
Select existing KNIME Server Executor (default): This means that you need to have previously installed a compatible KNIME Server Executor using one of the downloads from the KNIME Website. Note that the downloadable KNIME Server Executor build contains the required extension, but a standard KNIME Analytics Platform build will not be sufficient. In the latter case the "KNIME Executor Connector" (in category "KNIME Server Executor (server-side extension)") must be installed. The extension is available from the pre-registered KNIME Analytics Platform update site. To install it run the KNIME Analytics Platform instance that is intended to be the executor and navigate to File → Install KNIME Extensions… and select KNIME Executor connector under KNIME Server Executor (server-side extension). Finally, click on "next" and follow the instructions.
-
Install KNIME Server Executor: This will install a new KNIME Server Executor, and will result in several additional steps that must be followed.
-
Disable server-side workflow execution: This option means that workflows cannot be executed on KNIME Server.
-
KNIME Server Workflow Repository
KNIME Server stores all workflows, and related configuration information in the KNIME Server Workflow Repository. The folder should exist on a local drive and have enough free space to store the workflows and jobs. We recommend a minimum of 100 GB, although this may need to be increased considerably depending on the intended use case.
By default, the KNIME Server Workflow Repository is created within the KNIME Server installation folder. It is possible to use a different location (e.g. on another hard drive) or an existing folder. In case the folder exists, the installer will not modify the folder, assuming that you pointed it to the workflow repository of a previous installation.
KNIME Server license file
The KNIME Server application works only as expected if a valid license file is provided. If you have not received a license file, please contact KNIME (contact@knime.org), or get in touch with your local KNIME representative.
If you performed the installation without the license file, you can simply copy
the KNIME Server license file into the <knime-server-repository>/licenses
folder. The file name must end with .xml
, and there is no need to restart
the server after adding the license file.
KNIME Server port configuration
KNIME Server and its clients communicate by either HTTP, or HTTPS. Default ports are 8080, and 8443. These ports can be changed in the range: 1024-49151.
KNIME Server mountpoint and Context Root
The KNIME Server mountpoint is used to describe the KNIME Server to the clients that connect to it. For simple installations, the default name, or a simple name e.g. mycompany-knime is usually appropriate. For an environment with multiple KNIME Servers, mountpoints such as knime-server-prod or knime-server-dev would allow users to distinguish between development and production environments. For a full description of the mountpoint see the KNIME Server Administration Guide.
The Context Root (CONTEXT) is used to define the KNIME WebPortal URL. All WebPortal functionality will be available at:
http://HOSTNAME:PORT/CONTEXT
KNIME Server admin user configuration
Many administrative tasks on KNIME Server can be performed by the
administrator user, e.g. setting workflow/file permissions, adding/removing
users. The default username is knimeadmin
, and the password is set to the
hostname of the machine. It is strongly recommended that you change this
password. If using LDAP authentication changes are required to the server.xml
file in <installation-path>/apache-tomee*/conf
. Please refer to the
KNIME Server Advanced Setup Guide
for full information.
KNIME Server email resource
The SMTP server, SMTP user, and 'from'-address can be altered. For advanced configuration options consult the KNIME Server Administration Guide.
Installing and launching KNIME Server, and final configuration steps
The final four steps will install, and if successful launch KNIME Server. Under Windows a new command prompt window will appear, closing this window will shutdown KNIME Server. The penultimate page displays information about the installation, such as the URLs required to connect to the server. The final page is able to generate an automatic installation script that can be used to automate future installations.
Autoinstall file
Once successfully executed, the KNIME Server installer generates a file that can
be saved. The xml file is called auto-install.xml
and describes all parameters
that were set during the installation process. In case you want to perform an
installation using the same parameters you can simply run:
java -jar knime-server-installer-4.x.y.jar <path-to>/auto-install.xml
Additional installer command-line flags
The installer reads out system properties specified on command-line, which are usually not required in a standard installation but can be useful for automated (update) scripts.
-
-Dknime.server.executor.memory=<value>
(<value>
is for instance4G
or2500M
)
The value specified is added to the KNIME Server Executor’sknime.ini
file and specifies how much memory a KNIME Server Executor is allowed to use at most. If not given, a default is used, which is based on the system’s available main memory. -
-Dknime.server.nostart=true
If specified, KNIME Server is not started after the installation.
Starting/stopping KNIME Server
KNIME Server can be started and stopped using scripts in the
<tomee folder>/bin
folder. It is highly recommended that you
follow the steps in the following section
Automatically starting KNIME Server, this ensures that KNIME Server can be quickly and
easily restarted.
For Linux/macOS restart with
<tomee folder>/bin/shutdown.sh <tomee folder>/bin/startup.sh
and for Windows use
<tomee folder>/bin/shutdown.bat <tomee directory>/bin/startup.bat
or
apache-tomee.bat stop apache-tomee.bat start
After restarting you should be able to access KNIME Server from both KNIME Analytics Platform and KNIME WebPortal (in your web browser). More details can be found in the KNIME Explorer User Guide and KNIME WebPortal User Guide.
The URL entered in the KNIME Analytics Platform mount point dialog is the same as for the WebPortal and defaults to
http://<server>:8080/knime/
If you encounter problems please have a look at the log files (see section Log Files in the KNIME Server Administration Guide for details).
In some cases it may take quite some time (up to several minutes) until the server responds to requests on Linux systems. This is usually caused by insufficient entropy for the random number generator used by Tomcat. A description on how to remedy this issue is included in the KNIME Server Administration Guide
Automatically starting KNIME Server
In order to start KNIME Server after a reboot, you need to define a service (Windows) or a runlevel script (Linux) that starts TomEE and brings it down at a machine shut down.
Defining a Linux runlevel script
Depending on your Linux distribution you can define a SysVinit start script or
systemd service as follows (as root
user):
Ubuntu >=16.04, Redhat 7.x, and derivatives (Systemd)
-
Copy the whole folder to the root of your file system.
sudo cp -r <install-dir>/install-data/linux-runlevel-templates/systemd/. /
The folder includes the systemd service description for knime-server, a start script, and a systemd override file that allows configuration of the service (such as file system location or the userid under which the server should run).
-
Run
systemctl daemon-reload
-
Run
systemctl edit knime-server.service
Adjust the settings in the editor that will open, and save the changes. Make sure that the
User
specified in this file exists on the system. Otherwise startup will fail. -
Enable the service with
systemctl enable knime-server.service
Ubuntu 14 and derivatives (SysVinit)
-
Copy the runlevel script
<install-folder>/install-data/linux-runlevel-templates/sysvinit/Ubuntu/etc/init.d/knime-server
or that is provided in the installation package to
/etc/init.d/knime-server
and make it executable. -
Copy the configuration file
<install-folder>/install-data/linux-runlevel-templates/sysvinit/Ubuntu/etc/default/knime-server
from the installation package to
/etc/default/knime-server
. Adjust the variables in this config file. -
Enable the start script with
update-rc.d knime-server defaults
Redhat 6.x and derivatives (SysVinit)
-
Copy the runlevel script
<install-folder>/install-data/linux-runlevel-templates/sysvinit/Redhat/etc/init.d/knime-server
or that is provided in the installation package to
/etc/init.d/knime-server
and make it executable. -
Copy the configuration file
<install-folder>/install-data/linux-runlevel-templates/sysvinit/Redhat/etc/default/knime-server
from the installation package to
/etc/default/knime-server
. Adjust the variables in this config file. -
Enable the start script with
chkconfig --add knime-server
Creating a Windows service
If you want to start and stop KNIME Server automatically under Windows, you
need to create a Windows service. Run the batch file at
<tomee-folder>\bin\service.install.as.admin.bat
as user Administrator
. It will
create a Windows service called "KNIME Server" that can be started and stopped
like any other Windows service (Control Panel ⇒ Administrative Tools ⇒
Services).
You may want to change the memory settings for when TomEE is started as a service:
-
Start
<tomee-folder>\bin\TomEE.exe
as Administrator. -
Go to the "Java" tab and change the "Maximum Memory pool" value.
In order to uninstall the service execute
<tomee-folder>\bin\service.remove.as.admin.bat
as user Administrator
.
If you want to know more details, have a look at the
Tomcat documentation
which describes this process in detail.
In places where the Tomcat documentation references "Tomcat7" executables,
replace their names with TomEE.x86.exe
or TomEE.amd64.exe
depending on your
architecture.