# KNIME服务器安装指南


# 介绍

KNIME Server是用于高级Analytics工作负载(例如,共享工作流和执行工作流)的企业级解决方案。该服务器基于Tomcat应用程序服务器,并使用KNIME Analytics Platform的核心来执行工作流程。KNIME Server安装程序可以安装组成KNIME Server的这两个组件。本文档旨在快速概述执行安装所需的步骤,并简要介绍可以在安装时更改的选项。安装后,您可以参考《KNIME服务器管理指南》, (opens new window)以获取有关服务器体系结构,配置选项和常规管理任务的详细信息。以下段落列出了有关KNIME Server功能的更多详细信息。

KNIME Server为KNIME软件用户提供了一个共享的远程工作流存储库。可以将工作流上载到服务器并存储在服务器上,也可以从中检索到本地KNIME工作区。服务器上的工作流可以根据需要作为作业执行,也可以作为一次或定期计划事件的一部分执行。另外,可以使用KNIME WebPortal通过Web浏览器执行工作流,也可以通过允许第3方应用程序进行控制的RESTful Web服务接口执行工作流。内置于KNIME Analytics Platform中的KNIME Explorer视图可用于登录到远程存储库,控制用户访问权限并安排工作流程执行任务。

KNIME Server由两个组件组成:服务器端组件和客户端接口。服务器端组件与KNIME Analytics Platform安装一起安装在应用程序服务器(Tomcat)上,该安装将负责执行工作流程。后者称为“执行器”。客户端界面允许与服务器存储库进行交互,并集成在KNIME Analytics Platform(通过KNIME ServerSpace扩展)和KNIME WebPortal中,或可通过REST API访问。

应用程序服务器和Executor可以安装在同一主机上(对于KNIME Server Small和KNIME Server Medium),也可以安装在单独的主机上(KNIME Server Large)。从KNIME Server 4.11开始,我们基于Apache Qpid(https://qpid.apache.org/)使用集成的消息代理在应用程序服务器和Executor之间进行通信。这可用于运行KNIME Server Small或KNIME Server Medium。如果您计划仅使用与应用程序服务器在同一主机上运行的单个执行程序,它也可用于KNIME Server Large。Apache Qpid是捆绑在所有KNIME Server安装中的一部分,因此不需要其他设置。

如果要为KNIME Server Large设置分布式KNIME执行器,请按照本文档中与主要安装相关的所有步骤进行操作,然后按照此处 (opens new window)概述的其他步骤进行操作 。这说明了如何设置RabbitMQ(用作消息代理而不是Qpid的消息代理),以及如何添加其他执行器。

# 先决条件

# 服务器

  • 服务器上的操作系统可以是Windows或Linux。正式支持以下操作系统:

    • Windows Server 2016、2019年
    • Ubuntu 16.04 LTS和18.04 LTS及其衍生版本
    • RHEL / CentOS 7.x和8
    在发行此版本时,Tableau Hyper格式在RHEL / CentOS 8系统上不起作用,并且需要在Tableau端进行修复。如果您打算从KNIME Server使用Tableau Hyper,请使用较旧版本的RHEL / CentOS,直到解决此问题为止。
    • 该服务器也可以在其他操作系统上运行,但是,我们既不通过KNIME Server标准支持程序包也不对其进行测试或支持。
    • 我们强烈建议您使用至少32GB RAM和8个CPU内核的64位操作系统。
  • Java开发套件(JDK)8,热点,64位

    • Ubuntu 16.04 / 18.04: sudo apt-get install -y openjdk-8-jdk

    • RHEL / CentOS 6.7+和7:java-1.8.0-openjdk-devel通过软件包管理器进行安装

    • 对于所有其他操作系统,请从AdoptOpenJDK网站 (opens new window)下载并安装最新的Hotspot OpenJDK 8(LTS)。

      02 Windows OpenJDK

      JDK> = 9,并且当前不支持OpenJ9 JVM。
  • 用于工作流存储库分区的本地硬盘(SSD类或同等类)

  • 工作流存储库分区上有250GB磁盘空间

为了使用Chromium扩展名生成图像,在Linux下需要以下附加扩展名:

  • Ubuntu: sudo apt install -y libgtk-3-0
  • RHEL 7 / CentOS: sudo yum install libXScrnSaver

# 客户

  • 操作系统Windows,Linux或macOS(独立于服务器OS)

# 安装所有者

我们建议Tomcat服务器和KNIME Server Executor由同一用户安装。该用户不需要管理权限。推荐的用户名是knime。没有其他用户需要对安装期间创建的任何文件的写访问权。

该用户必须执行整个KNIME Server Executor安装,包括解包KNIME Analytics Platform和安装所有所需的附加功能。如果以后向无法写入安装文件夹的用户添加了其他功能,则安装可能看起来可以正常工作,但是稍后会引起问题,可能难以跟踪。

# 安装

建议整个安装过程由同一用户执行,例如knime(请参阅上面的安装所有者 (opens new window))。不要以服务器Administratorroot用户身份安装服务器!逐步按照安装说明进行操作。除非标记为可选,否则不要跳过任何内容。

KNIME Server安装程序是单个JAR文件,可在所有支持的平台(Windows,Linux,macOS)上使用。以下各节介绍了JAR文件的使用。

难道没有安装任何KNIME服务器组件Administratorroot用户!对于将来对安装的任何更改(例如升级或安装扩展)也是如此 。

# 概要

我们简要描述了本指南中可用的安装选项。有关任何选项的完整详细信息,请参见《 KNIME服务器管理指南》 (opens new window)

在开始之前,请确保已安装Java 8 JDK(请参阅前提条件 (opens new window))。

如果要在已安装RabbitMQ的计算机上安装KNIME Server,请在开始安装之前先停止RabbitMQ服务。否则,嵌入式消息代理Apache Qpid将尝试使用与RabbitMQ相同的端口,这将阻止在初始启动时成功启动KNIME Server。如果您计划通过RabbitMQ将KNIME Server与多个KNIME执行器一起使用,请knime-server.config在完成安装后将RabbitMQ设置为相应的路径 ,并禁用嵌入式代理(com.knime.enterprise.executor.embedded-broker=false)。此时,您还可以重新启动RabbitMQ服务。

# 启动安装程序

称为安装程序knime-server-installer-4.x.y.jar(其中x.y是当前发行版号)。可以从这里 (opens new window)下载。可以通过发出命令(在Linux终端或cmd.exe提示符下)运行安装程序:

java -jar knime-server-installer-4.xyjar

发出命令将启动安装程序GUI:

03安装程序gui

也可以通过命令行逐步完成安装。在这种情况下,发出命令:

java -jar knime-server-installer-4.xyjar -console

# 系统JDK位置的路径

Java JDK版本必须为1.8.x,并且应使用浏览按钮选择包含该bin文件夹的文件夹。

# 安装文件夹的路径

安装文件夹(默认情况下)将包含KNIME所需的所有文件,其中包括Tomcat,KNIME Server Executor和KNIME Server存储库。安装文件夹应该为空,如果不存在,则会创建。如果出现提示,请选择确定。

# KNIME服务器执行程序配置

有以下三个选项可供选择:

    1. 选择现有的KNIME Server执行器(默认):这意味着您以前需要使用KNIME网站上的下载之一安装兼容的KNIME Server执行器。请注意,可下载的KNIME Server Executor构建 (opens new window) 包含所需的扩展名,但是标准的 KNIME Analytics Platform构建 (opens new window) 将不够。在后一种情况下,必须安装“ KNIME Executor连接器”(在“ KNIME Server Executor(服务器端扩展)”类别中)。可从预注册的KNIME Analytics Platform更新站点获得该扩展。要安装它运行的目的是遗嘱执行人,并导航到KNIME分析平台实例文件→安装KNIME扩展...并选择KNIME执行人连接器KNIME Server Executor(服务器端扩展)下。最后,单击“下一步”并按照说明进行操作。
    2. 安装KNIME Server执行程序:这将安装新的KNIME Server执行程序,并且将导致必须执行几个附加步骤。此选项需要Internet访问。如果无法从服务器计算机连接到Internet,请在开始安装之前下载KNIME Executor,然后在当前安装步骤中选择选项1。
    3. 禁用服务器端工作流执行:此选项意味着不能在KNIME Server上执行工作流。

选择选项1或2将自动将其他设置添加到Executor的knime.ini文件中,以建立与应用程序服务器的连接,这些附加设置可用于管理Executor的首选项设置。

如果在下一步中将安装程序指向现有的工作流程存储库,则不会对knime.ini文件进行更改。这样做是为了不与中的用户定义设置相矛盾knime-server.config

# KNIME服务器工作流存储库

KNIME Server将所有工作流程和相关的配置信息存储在KNIME Server工作流程存储库中。该文件夹应位于本地驱动器上,并具有足够的可用空间来存储工作流和作业。我们建议最小为100 GB,尽管根据预期的使用情况可能需要大量增加。

默认情况下,将在KNIME Server安装文件夹中创建KNIME Server工作流存储库。可以使用其他位置(例如,在另一个硬盘驱动器上)或现有文件夹。如果该文件夹存在,则假定您将文件夹指向先前安装的工作流存储库,安装程序将不会修改该文件夹。

# KNIME服务器许可证文件

如果提供了有效的许可证文件,则KNIME Server应用程序只能按预期工作。如果尚未收到许可证文件,请联系KNIME(contact@knime.org),或与您当地的KNIME代表联系。

如果在没有许可证文件的情况下执行安装,则只需将KNIME Server许可证文件复制到该/licenses 文件夹中即可。文件名必须以结尾.xml,添加许可证文件后无需重新启动服务器。

# KNIME服务器端口配置

KNIME服务器及其客户端通过HTTP或HTTPS进行通信。默认端口为8080和8443。可以在以下范围内更改这些端口:1024-49151。

# KNIME服务器安装点和上下文根

KNIME服务器挂载点用于向与其连接的客户端描述KNIME服务器。对于简单安装,通常使用默认名称或简单名称(例如mycompany-knime)。对于具有多个KNIME服务器的环境,安装点(例如knime-server-prodknime-server-dev) 将允许用户区分开发环境和生产环境。有关安装点的完整说明,请参见《 KNIME服务器管理指南》 (opens new window)

上下文根(CONTEXT)用于定义KNIME WebPortal URL。所有WebPortal功能将在以下位置提供:

http://主机名:PORT / CONTEXT / webportal /

# KNIME Server管理员用户配置

管理员用户可以在KNIME Server上执行许多管理任务,例如,设置工作流/文件权限或添加/删除用户。默认用户名是knimeadmin,并且密码设置为计算机的主机名。强烈建议您更改此密码。如果使用LDAP认证,则需要更改中的server.xml 文件/apache-tomcat*/conf。 有关完整信息,请参阅《 KNIME服务器高级设置指南》 (opens new window)

# KNIME服务器电子邮件资源

可以更改SMTP服务器,SMTP用户和“发件人”地址。有关高级配置选项,请参阅《 KNIME服务器管理指南》 (opens new window)

# 安装和启动KNIME Server,以及最终配置步骤

如果成功启动KNIME Server,将安装最后四个步骤。在Windows下,将出现一个新的命令提示符窗口,关闭此窗口将关闭KNIME Server。倒数第二页显示有关安装的信息,例如连接到服务器所需的URL。最后一页能够生成一个自动安装脚本,该脚本可用于自动化将来的安装。

执行器需要单独启动

<执行者目录> /start-executor.bat(Windows)

要么

<执行者目录> /start-executor.sh(Linux)

如果执行程序启动脚本不存在,则可以通过运行以下命令从命令行启动执行程序

./knime -nosplash -consolelog -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION
启动KNIME Server之后,请确保启动KNIME Executor。否则,执行器将无法获取其需要运行的核心令牌。
如果安装程序没有将Qpid的路径添加到执行器的knime.ini,请在您的knime.ini文件的底部添加以下行: -Dcom.knime.enterprise.executor.msgq=amqp://knime:20knime16@localhost/

# 自动安装文件

成功执行后,KNIME Server安装程序将生成一个可以保存的文件。xml文件将被调用,auto-install.xml并描述在安装过程中设置的所有参数。如果要使用相同的参数执行安装,则可以简单地运行:

java -jar knime-server-installer-4.xyjar <路径到> /auto-install.xml

# 其他安装程序命令行标志

安装程序会读出在命令行上指定的系统属性,这在标准安装中通常不是必需的,但对于自动化(更新)脚本很有用。

  • -Dknime.server.executor.memory=(``例如4G2500M) 指定的值将添加到KNIME Server Executor的knime.ini文件中,并指定KNIME Server Executor最多允许使用多少内存。如果未给出,则使用默认值,该默认值基于系统的可用主内存。
  • -Dknime.server.nostart=true 如果指定,则安装后不会启动KNIME Server。

# 启动/停止KNIME服务器

可以使用/bin文件夹中的脚本来启动和停止KNIME Server 。强烈建议您遵循以下部分自动启动KNIME Server中 (opens new window)的步骤,以 确保可以快速轻松地重新启动KNIME Server和KNIME Executor服务。

对于Linux / macOS,重新启动

<tomcat文件夹> /bin/shutdown.sh
<tomcat文件夹> /bin/startup.sh

和供Windows使用

<tomcat文件夹> /bin/shutdown.bat
<tomcat目录> /bin/startup.bat

执行器需要以

<执行者目录> /start-executor.bat(Windows)

要么

<执行者目录> /start-executor.sh(Linux)

请确保在Linux上调整start-executor.sh文件的权限,以允许运行Executor的用户执行,例如

chmod 744 start-executor.sh

如果执行程序启动脚本不存在,则可以通过运行以下命令从命令行启动执行程序

./knime -nosplash -consolelog -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION
启动KNIME Server之后,请确保启动KNIME Executor。否则,执行器将无法获取其需要运行的核心令牌。

启动后,您应该能够从KNIME Analytics Platform和KNIME WebPortal(在Web浏览器中)访问KNIME Server。可以在《KNIME Explorer用户指南》 (opens new window) 和《KNIME WebPortal用户指南》中 (opens new window)找到更多详细信息。

在KNIME Analytics Platform安装点对话框中输入的URL与WebPortal相同,默认为

http:// <服务器>:8080 / knime /

如果遇到问题,请查看日志文件( 有关详细信息,请参见《KNIME服务器管理指南 (opens new window)*》*中的“日志文件”部分 )。

在某些情况下,服务器响应Linux系统上的请求可能需要花费一些时间(最多几分钟)。这通常是由于Tomcat使用的随机数生成器的熵不足所致。《KNIME服务器管理指南》中 (opens new window)包含有关如何解决此问题的说明。

# 自动启动KNIME服务器

为了在重新启动后启动KNIME Server,您需要定义一个服务(Windows)或运行级别脚本(Linux),以启动Tomcat并在计算机关闭时将其关闭。

# 定义Linux运行级脚本

根据您的Linux发行版,您可以按以下方式(作为root用户)定义SysVinit启动脚本或systemd服务:

# Ubuntu> = 16.04,Redhat 7.x和衍生版本(Systemd)

  1. 将整个文件夹的内容复制到文件系统的根目录。

    sudo cp -r <安装文件夹> / install-data / linux-runlevel-templates / systemd /。/
    

    该文件夹包括knime-server的systemd服务描述,一个启动脚本和一个允许配置服务的systemd覆盖文件(例如,服务器应在其下运行的文件系统位置或用户ID)。

  2. sudo systemctl守护进程重新加载
    
  3. sudo systemctl编辑knime-server.service
    

    在将打开的编辑器中调整设置,然后保存更改。确保User此文件中指定的内容在系统上存在。否则,启动将失败。

    重要提示:如果您的自定义配置包含任何非字母数字字符(包括@),则必须先使用systemd-escape它们进行编码,然后再将其粘贴到文件中。

  4. 通过启用服务

    sudo systemctl启用knime-server.service
    

# Ubuntu 14及其衍生版本(SysVinit)

  1. 复制运行级别脚本

    <安装文件夹> /install-data/linux-runlevel-templates/sysvinit/Ubuntu/etc/init.d/knime-server
    

    或安装包中提供的/etc/init.d/knime-server 文件并使其可执行。

  2. 复制配置文件

    <安装文件夹> / install-data / linux-runlevel-templates / sysvinit / Ubuntu / etc / default / knime-server
    

    从安装包到/etc/default/knime-server。调整此配置文件中的变量。

  3. 使用以下命令启用启动脚本

    update-rc.d knime服务器默认值
    

# Redhat 6.x及其衍生版本(SysVinit)

  1. 复制运行级别脚本

    <安装文件夹> /install-data/linux-runlevel-templates/sysvinit/Redhat/etc/init.d/knime-server
    

    或安装包中提供的/etc/init.d/knime-server 文件并使其可执行。

  2. 复制配置文件

    <安装文件夹> / install-data / linux-runlevel-templates / sysvinit / Redhat / etc / default / knime-server
    

    从安装包到/etc/default/knime-server。调整此配置文件中的变量。

  3. 使用以下命令启用启动脚本

    chkconfig-添加knime服务器
    

# 创建Windows服务

如果要在Windows下自动启动和停止KNIME Server,则需要创建Windows服务。

以管理员身份打开命令行窗口,导航至 \ bin并运行以下命令:

service.bat安装

这将创建一个名为“ Apache Tomcat 9.0 Tomcat9”的Windows服务,该服务可以像其他Windows服务一样启动和停止(控制面板⇒管理工具⇒服务)。确保该服务未作为本地服务帐户运行。而是,将其配置为作为本地系统帐户运行。

您可能需要更改将Tomcat作为服务启动时的内存设置:

  1. \bin\tomcat9w.exe以管理员身份启动。
  2. 转到“ Java”选项卡,然后更改“最大内存池”值。

为了卸载服务,请以管理员身份打开命令行窗口,导航至 \ bin并运行以下命令:

service.bat卸载

如果您想了解更多详细信息,请查看 Tomcat文档 (opens new window) ,该文档 (opens new window)详细描述了此过程。

# 将执行程序作为服务运行

还可以将执行程序作为在系统启动期间自动启动(并在关闭期间停止)的服务来运行。当不在docker部署上运行时,这是推荐使用的方法。

为了提高安全性,我们建议由Tomcat服务之外的其他用户运行两个Executor服务。

# 带有systemd的Linux

仅在使用systemd的Linux发行 (例如Ubuntu> = 16.04,RHEL 7.x和衍生版本)上支持将Executors作为服务运行。以下步骤假定您已安装KNIME Executor,其中包含KNIME executor安装 (opens new window) 一节中介绍的KNIME Executor连接器扩展。

  1. 将整个文件夹的内容复制到文件系统的根目录。

    sudo cp -r <安装文件夹> / systemd /。/
    

    该文件夹包含knime-executor的systemd服务描述和允许配置服务的替代文件(例如,文件系统位置或应在其中运行Executor的用户ID)。

  2. systemctl守护程序重新加载
    
  3. systemctl编辑knime-executor.service
    

    在打开的编辑器中调整设置,然后保存更改。确保User此文件中指定的内容在系统上存在。否则,除非您的systemd版本支持,否则启动将失败DynamicUser。在这种情况下,将创建一个临时用户帐户。

    重要提示:如果您的自定义配置包含任何非字母数字字符(包括@),则必须先使用systemd-escape它们进行编码,然后再将其粘贴到文件中。

  4. 通过启用服务

    systemctl启用knime-executor.service
    

# 视窗

在Windows上,可以使用NSSM(非吸吮服务管理器)将执行程序作为Windows服务运行。以下步骤假定您具有KNIME Analytics Platform安装,其中包含KNIME Server安装指南 (opens new window)中所述的 KNIME Executor连接器扩展 。

  1. 编辑

    <knime安装> /install-executor-as-service.bat
    

    并根据需要调整文件顶部的变量。

  2. 以管理员身份运行此批处理文件。这将安装服务。

  3. 打开Windows服务应用程序,在列表中查找KNIME Executor服务并启动它。

  4. 如果要再次删除执行程序服务,请以管理员身份运行以下命令:

    <knime安装> /remove-executor-as-service.bat
    

请注意,如果您移动KNIME执行人安装您必须首先删除该服务之前,移动安装,然后重新创建它。