# KNIME Server发行说明和更新指南


# 发行说明

KNIME Server 4.11是4.x发行版的功能发行版。使用KNIME Server 4.10的所有客户端将继续不受限制地使用KNIME Server 4.11。

要了解当前正在运行哪个版本的KNIME Server,可以 在WebPortal上查看“ 管理”页面 (opens new window)

# 新的功能

有关包含新的Analytics Platform 4.2功能的列表,请参见此处 (opens new window)

突出的新功能是:

还提供了KNIME Server 4.11的 (opens new window)详细变更 (opens new window)日志。

# 切换到Apache Tomcat

在以前的版本中,KNIME Server的应用程序服务器组件基于Apache TomEE(Apache Tomcat的Java Enterprise Edition)。现在,在新的KNIME Server 4.11中,将TomEE替换为标准的Apache Tomcat。

与切换到标准Apache Tomcat一致,现在不鼓励使用旧的EJB挂载点连接到KNIME Server,而支持较新的REST实现。迁移到REST挂载点非常简单。用户使用现有的EJB挂载点登录后,将立即提示您单击即可切换到REST。与EJB相比,REST提供了许多好处-特别是在性能和稳定性方面。

使用的Tomcat版本是9.0.36。请注意,对于不愿切换到Tomcat的现有客户,我们仍然提供基于Apache TomEE的KNIME Server安装程序。它已更新到最新版本,TomEE 8.0.3。

# 通过Qpid执行

早期版本的KNIME Server使用RMI在应用程序服务器和KNIME Executor之间建立连接。RMI现在已由基于Apache Qpid的嵌入式消息队列代替。诸如消息请求作业执行之类的事件不是通过应用程序服务器与执行器之间直接通信,而是通过消息队列传递。

Qpid技术与KNIME Server安装程序捆绑在一起,因此不需要其他设置。所有新安装的KNIME Server安装都配置为默认使用Qpid。另外,KNIME Server安装程序对执行器的knime.ini文件进行了各种调整,以简化与Qpid的连接。

请注意,Qpid仅支持与应用程序服务器在同一主机上运行的单个KNIME Executor。如果您要运行多个分布式KNIME执行器,仍然需要设置RabbitMQ。与以前的版本不同,Executor不会与服务器一起自动启动,而是必须单独启动。《KNIME服务器安装指南》 (opens new window)中介绍了必要的步骤

# 切换到REST挂载点

从KNIME Server 4.11发行版开始,现在不鼓励使用旧的EJB挂载点连接到KNIME Server,而支持较新的REST实现。如果是基于Tomcat的KNIME服务器,这将是唯一有效的连接方法。即,在Apache Tomcat上运行的KNIME服务器不再支持EJB。

我们已经非常容易地迁移到REST挂载点。只需使用现有的EJB挂载点登录,就会出现提示,您可以单击一下即可从其切换到REST。与EJB相比,REST提供了许多好处-特别是在性能和稳定性方面。

切换到REST之后,您会注意到行为上有些细微的差别。最值得注意的是,当您启动使用Workflow Variables或的工作流程时,我们不再显示弹出对话框Workflow Credentials。现在,可以直接从工作流执行对话框访问这些选项。要到达那里,请右键单击服务器存储库中的工作流程→执行。然后打开Configuration options选项卡。这使您可以输入工作流变量和工作流凭证。

此外,该Configuration options选项卡还允许您为特定工作流程中位于工作流程顶层(即不在组件或元节点内部)的所有Configuration节点设置值。此功能适用于KNIME Analytics Platform节点存储库的“工作流抽象”→“配置”类别中不包含传入连接(包括流变量)的所有节点。

# 通过KNIME工作流程访问本地文件系统

越来越多的KNIME节点(见下文)正在修订中,以使用新的共享框架进行文件访问。在接下来的发行版中将会有更多的节点,因此最终所有KNIME节点的文件访问都将使用共享框架。

在KNIME Server上执行时,首选项控制这些节点是否可以访问KNIME Server Executor的本地文件系统。在此版本中,默认情况下不允许本地文件系统访问(以前是允许的)。

要允许本地文件系统访问(不建议),可以将以下行添加到KNIME Server执行程序使用的自定义配置文件中:

/instance/org.knime.filehandling.core/allow_local_fs_access_on_server=true

此首选项当前会影响以下KNIME节点:Excel Reader(XLS),Excel Writer(XLS),Excel Sheet Appender(XLS),Line Reader。此外,这会影响新文件处理(实验室)类别中的所有节点。其他任何KNIME节点均不受此设置的影响。

# 更新资料

本文档指导您完成将现有KNIME Server安装版本从4.10更新到4.11或为版本4.11应用错误修正所需的步骤。您可以在《KNIME Server安装指南》中 (opens new window)找到安装KNIME Server的完整指南 (opens new window),并在《KNIME Server管理指南》 (opens new window)中找到所有配置选项的完整说明 。如果您在更新过程中有任何疑问或需要帮助,请联系您专用的KNIME支持专家。

为了便于阅读,本文档用于/引用服务器应用程序的安装目录。除目录名称外,该位置在基于TomEE的文件夹上将相同。

新安装的KNIME Server基于Apache Tomcat,而不是先前版本中使用的Apache TomEE。这是可以将您的安装从TomEE更改为Tomcat。相反,如果您计划使用Tomcat,请执行KNIME Server的全新安装。此外,我们暂时仍在提供基于TomEE的安装程序。为此的TomEE版本已更新至版本8.0.3(来自TomEE 7.0.5)。如果要更新到最新的TomEE版本,由于不支持升级,还必须执行KNIME Server的全新安装。即,本文档的其余部分假定您将KNIME服务器更新为版本4.11,同时将TomEE 7.0.5保留为应用程序服务器。KNIME执行器不受这些更改的影响,可以按照标准程序进行升级。
由于某些更新的库,https:// <您的服务器> /knime/rest/doc/index.html (opens new window)上提供的KNIME Server REST API文档 在基于TomEE 7.0.5的安装中不再起作用。如果需要此功能,请安装一个基于TomEE 8.0.3的全新KNIME服务器(或直接移至Tomcat)。这并不会影响到每个工作流程扬鞭页面,继续工作在所有TomEE版本(在KNIME资源管理器→显示API定义右键单击)。
为了升级基于TomEE的KNIME服务器,TomEE至少需要为7.0.5版本。不支持旧版本,并且需要全新安装。

# 先决条件

# 服务器

  • 本指南假定您已经在运行KNIME Server 4.10.x或KNIME Server4.11.x。如果希望从以前的版本进行更新,则必须学习中间更新指南以识别可能适用的配置更改,并且您可能希望考虑全新安装以更新基础Tomcat应用程序服务器。

# 客户与执行人

  • KNIME Analytics Platform客户端至少需要KNIME ServerSpace 4.0,否则它将无法与服务器通信。
  • KNIME Server 4.11至少需要KNIME Analytics Platform 4.2作为执行程序,并且在服务器端安装了相应的KNIME Executor连接器版本4.11。
  • 新的KNIME WebPortal功能可用于任何 受支持的Web浏览器 (opens new window)

# 后备

即使应在更新期间保留服务器上的所有数据,也强烈建议创建所有重要数据的备份( 有关备份信息,请参见《 KNIME服务器管理指南》 (opens new window))。

# 应用服务器

备份现有配置执行更新之前,请备份 /conf/Catalina/localhost/knime.xml。如果.war文件名不同(例如 com.knime.enterprise.server.xmlROOT.xml),则文件名可能会不同。无法备份此文件将导致计划的作业无法运行,因为该文件包含用于加密计划的密钥。还要确保创建的备份/conf/server.xml
  1. war-4.11.x.y.war下载页面 (opens new window)下载更新的war文件。确保使用正确的文件,具体取决于您的KNIME服务器是基于Tomcat还是TomEE。
  2. 停止KNIME服务器。
  3. 删除现有文件夹/webapps/knime(如果.war文件名称不同,则删除该文件夹)。
  4. 将新war-4.11.x.y.war文件复制到现有的war文件中(通常为/webapps/knime.war)。请注意,该文件名必须与应用程序中称为上下文的文件名相同。
  5. 检查knime.xml之前备份的文件是否仍然存在。如果没有,请将备份复制到以前的位置。
  6. 将下载的文件knime-tomcat.jar复制到 / lib
  7. 请按照以下步骤更新KNIME服务器执行程序。
  8. 启动Tomcat。

请注意,这是不是可能在一个Tomcat的安装运行多个KNIME Server实例。

# KNIME执行器

# 安装新的KNIME执行器

KNIME Server 4.11需要KNIME Analytics Platform 4.2或更高版本。由于无法将KNIME Analytics Platform 4.1更新到4.2,因此您必须创建KNIME Analytics Platform 4.2的新安装并将KNIME Executor connector4.11版安装 到其中。这样做的原因是Eclipse版本的更新以及捆绑JRE的升级。

要从头开始安装KNIME Analytics Platform 4.2,您需要以拥有安装的用户身份运行它。

有关安装KNIME Executor的更多详细信息,请参阅《KNIME服务器管理指南》 (opens new window)

由于存在修补程序版本,当前有必要在执行安装后立即更新KNIME Executor,因为一些重要的修补程序不在发行版本中。有关如何执行更新,请参见下文。

您必须至少将KNIME Server Executor更新到版本4.2和 KNIME Executor connector版本4.11。

如果可能,以图形方式启动执行程序安装(使用正确的安装用户!)。如果您可以访问互联网,请转至 文件→更新KNIME…,它将建议更新为新版本。按照向导中的步骤。如果您无法直接访问Internet,则必须从商业下载页面 (opens new window)下载压缩的更新站点 (如果无法访问此页面,请与KNIME支持团队联系)。然后在文件→首选项→安装/更新→可用软件站点中注册ZIP文件, 然后转到文件→更新KNIME…

在Linux下,如果无法启动图形用户界面,则可以使用 update-executor.sh执行程序安装根目录中的脚本。

由于存在错误,当前需要在运行更新脚本之前从knime.ini文件中删除引用客户端首选项的行。更新后,可以再次添加它们。下一个KNIME Server的错误修正版本将修复此问题。

这会影响以下几行:

-profileLocation
http:// <服务器地址> / knime / rest / v4 / profiles / contents
-profileList
<配置文件列表>

在命令行上调用脚本,并提供包含已安装扩展的新版本的更新站点列表,并且所有已安装扩展都会被更新(假设有可用的更新):

./update-executor.sh https://update.knime.com/analytics-platform/4.2

如果执行时收到update-executor.sh有关缺少“可安装单元”的错误消息,请确保已提供所有必需的更新站点。

# knime.ini文件

如果要使用旧的KNIME Executor的knime.ini文件中的自定义设置,请仅将-vmargs之后的行复制到新的knime.ini中。唯一的例外是与服务器管理的自定义(-profileLocation ...)相关的四行(如果已设置)。-vmargs上方的其余行包含新版本中已更改的资源的路径,因此它们不兼容。

# server.xml文件

对于全新安装,请注意,/conf/server.xml由于某些较大的更改,无法复制旧安装中的server.xml文件()。应用于现有server.xml的所有自定义更改都需要手动复制到新的server.xml中。对于升级,现有的server.xml可以继续工作,不需要任何调整。

# KNIME服务器许可证

KNIME服务器许可证将继续与新服务器一起使用。如果您尚未收到许可证文件,或者许可证文件无法正常工作,请联系KNIME支持人员或您专用的KNIME客户经理。

# 通过Apache Qpid启用执行

KNIME Server 4.11引入了一个集成的消息代理,用于基于Apache Qpid(https://qpid.apache.org/)在KNIME Server和KNIME Executor之间进行通信。可以认为这是使用与分布式KNIME Executor非常相似的体系结构,但在单个主机上运行,该主机由KNIME Server和KNIME Executor共同使用。

与分布式KNIME执行器不同,不需要安装单独的消息代理,例如RabbitMQ。相反,Apache Qpid捆绑在所有KNIME Server安装中。默认情况下,新安装的KNIME Server使用Qpid。要将当前安装切换到Qpid,需要在两个位置进行更改:

# 应用服务器

在中激活队列knime-server.config。该文件可以在中找到 /config/knime-server.config。设定参数com.knime.enterprise.executor.embedded-broker=true另外,com.knime.server.executor.knime_exe=通过在行的开头放置#字符来注释掉该行。

# KNIME执行器

在KNIME Executor安装目录中,将以下行添加到knime.ini文件中,在该-vmargs 行之后的任意位置:-Dcom.knime.enterprise.executor.msgq=amqp://knime:20knime16@localhost/

不同于基于RMI的执行,使用Qpid消息代理要求启动KNIME服务器和KNIME执行人分开。要启动KNIME Server,您仍然可以使用位于中的startup.sh/.bat文件 /bin。要启动执行器,可以使用/start-executor.sh(Linux)或 /start-executor.bat(Windows)

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

./knime -nosplash -consolelog -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION

要设置KNIME服务器服务,请按照《KNIME服务器安装指南》中 (opens new window)概述的步骤进行操作 。将Executor作为服务进行安装的过程与针对分布式KNIME Executors (opens new window)所述的过程相同 。

为了提高安全性,我们建议由不同的用户运行这两种服务。

# 首选项文件

请注意,从RMI切换到Qpid时,不再使用./workflow_repository/config中的旧preferences.epf文件。为了在执行程序上设置首选项(例如数据库驱动程序或Python配置),请使用《KNIME服务器管理指南》中 (opens new window)所述的首选项配置文件。

# 服务器临时目录

切换到Qpid也使用与RMI不同的临时目录。在Linux上,该默认值是/ tmp,可能有大小限制。为了手动设置其他临时目录,请将以下内容添加到KNIME Executor的knime.ini文件中的任意位置-vmargs-Djava.io.tmpdir=/path/to/tmpdir

# Qpid端口

在某些环境中,有必要在本地主机上显式打开用于连接Qpid的端口(即使Server和Executor在同一主机上运行)。默认情况下,端口为5672。可以在knime-server.config文件中更改此端口 。

# / hosts中的服务器主机名

默认情况下,机器的主机名在中可用/etc/hosts/。如果不是这种情况,则KNIME Server无法使用Qpid正常工作。这可以通过添加服务器的主机名得到解决/etc/hosts/,例如127.0.0.1

# 变更日志(KNIME Server 4.11)

KNIME Server 4.11.2 (发布于2020年9月28日)

# 增强功能

  • [SRV-3153]-在服务器启动期间检查Tomcat服务器中是否使用了tomee.war(反之亦然)
  • [SRV-3154]-更新“社区”安装点以使用OAuth

# Bug修复

  • [SRV-3091]-社交工作流存储库不再可用
  • [SRV-3135]-邮件会话未正确转发到服务器
  • [SRV-3136]-由于-profileLocation,因此无法从命令行更新执行程序
  • [SRV-3148]-如果令牌验证失败,身份验证器可能会抛出NullpointerException
  • [WEBP-530]-Nuxt路由取决于最终的'/'
  • [WEBP-536]-文件上传:旧的Webportal显示带有对象存储路径的文件位置
  • [WEBP-541]-仅具有执行权限的工作流无法执行

KNIME Server 4.11.1 (发布于2020年8月26日)

# 增强功能

  • [SRV-2952]-将JWT解析错误传播到日志
  • [SRV-2979]-禁止在工作流组上载期间丢失有关简单文件的元信息的警告
  • [SRV-3001]-将工作流程摘要与作业一起保存
  • [SRV-3064]-改善许多工作的资源管理器性能
  • [SRV-3100]-允许在“配置选项”中使用knime.system.default
  • [SRV-3110]-增加基于本地队列的执行程序中的内存作业最大数量

# Bug修复

  • [SRV-2869]-“服务器执行程序”对话框无法缩放
  • [SRV-3035]-在“部署到服务器”中选择工作流程组时,“重置工作流程”被选中
  • [SRV-3039]-OIDC:身份验证器中的空指针
  • [SRV-3054]-通过与服务器的REST连接,看不到禁用时间表的其他字体
  • [SRV-3069]-在旧工作流程上修改计划的作业时潜在的死锁
  • [SRV-3078]-OAuth:Analytics Platform中缺少管理员权限
  • [SRV-3088]-OpenAPI索引页未正确加载
  • [SRV-3095]-安装程序不包含用于在Windows上将KNIME Server作为服务启动的文件
  • [SRV-3097]-不再可以访问名为“服务”的存储库项目
  • [SRV-3113]-作业的身份验证令牌在服务器重新启动后失去其有效性
  • [SRV-3117]-从服务器存储库中随机读取文件,失败为403
  • [SRV-3126]-服务器登录未填充凭据配置
  • [SRV-3130]-4.11之前的安装中的嵌入式用户数据库不再可读

KNIME Server 4.11.0 (发布于2020年7月13日)

# 增强功能

  • [SRV-2033]-远程工作流编辑器中不可用的数据库节点对话框
  • [SRV-2154]-REST界面中计划作业的权限
  • [SRV-2155]-KNIME Explorer中计划作业的权限
  • [SRV-2534]-允许保留执行者专用
  • [SRV-2562]-改进服务器安装程序中mountID中禁止符号的消息
  • [SRV-2580]-允许在服务器重新启动后重新连接到现有作业
  • [SRV-2600]-将最大核心设置添加到preferences.epf.template
  • [SRV-2639]-在REST界面中提供服务器组件的版本
  • [SRV-2696]-在远程工作流编辑器中启用动态端口配置
  • [SRV-2712]-执行程序应重试与消息队列的连接
  • [SRV-2733]-嵌入式消息队列的端口应该是可配置的
  • [SRV-2798]-使用OIDC时的[OAuth] Webportal登陆页面
  • [SRV-2807]-改进作业记录
  • [SRV-2820]-在移动/复制工作流程时保留或更改历史记录的对话框选项
  • [SRV-2821]-增加了将JWT声明映射到组的可能性
  • [SRV-2823]-从KNIME服务器中的AuthenticationValve重用OAuth配置
  • [SRV-2824]-自动OIDC端点发现
  • [SRV-2830]-在服务器配置中定义多个队列
  • [SRV-2871]-防止在战争更新时丢失OIDC配置
  • [SRV-2904]-从KNIME Server客户端删除Glassfish支持
  • [SRV-2920]-添加选项以强制启用“创建快照”
  • [SRV-2921]-添加选项以强制启用“上传之前重置工作流程”
  • [SRV-2922]-更改默认执行程序起始端口
  • [SRV-2926]-安装程序应在执行程序knime.ini中设置嵌入式队列的路径
  • [SRV-2927]-为执行者特定的服务器管理的自定义添加新模板
  • [SRV-2928]-从安装程序中删除preferences.epf.template
  • [SRV-2930]-修复了使用REST选项的行为
  • [SRV-2932]-使用EJB挂载点时显示警告
  • [SRV-2938]-提取用户和组信息以保留执行者
  • [SRV-2940]-使用嵌入式消息队列的执行程序应获得尽可能多的核心令牌
  • [SRV-2948]-使表视图的块大小可编辑,并使用较小的默认值
  • [SRV-2958]-请勿在远程作业编辑期间发送电子邮件
  • [SRV-2962]-作业的“工作流摘要”端点
  • [SRV-2963]-Default.epf模板应使用REST挂载点
  • [SRV-2971]-具有执行者信息的新REST端点
  • [SRV-2977]-将作业ID添加到所有与作业相关的消息
  • [SRV-2982]-执行器应具有启动脚本
  • [SRV-2985]-服务器客户端应检查EJB支持
  • [SRV-2988]-改进EJB警告对话框的UI
  • [SRV-3002]-支持将字符串声明作为组映射声明
  • [SRV-3013]-允许在保存为工作流之前强制重置作业
  • [SRV-3015]-更新OIDC登录页面上的KNIME徽标
  • [SRV-3026]-如果由于组限制而找不到队列,则改进错误消息
  • [WEBP-454]-具有改进的布局和设计的新WebPortal

# Bug修复

  • [SRV-2352]-如果发生意外注销,则改进错误消息
  • [SRV-2492]-在规范的主机名自动检测中,IPv6地址未正确处理
  • [SRV-2718]-关闭KNIME OAuth弹出窗口(ESC密钥)将阻止用于重定向的端口
  • [SRV-2849]-在没有经过身份验证的会话的情况下从浏览器中的AP“打开API定义”时出现意外的基本身份验证弹出窗口
  • [SRV-2862]-服务器中设置的子节点执行模式会在每次作业更新时被覆盖
  • [SRV-2874]-连接到存储为OAuth且禁用OAuth的服务器时,AP中的Nullpointer异常
  • [SRV-2883]-OAuth重定向页面未显示错误
  • [SRV-2884]-“编辑安装点”对话框不记得身份验证类型
  • [SRV-2890]-当显示大错误时,“安装点”对话框会调整大小
  • [SRV-2892]-无法加载工作流时,来自执行器的错误消息
  • [SRV-2899]-尝试在远程作业视图上打开Google Updater的配置窗口时出现JavaNullPointer异常
  • [SRV-2908]-执行程序重新启动后,远程作业视图不刷新
  • [SRV-2934]-在执行程序中加载工作流失败时出现错误错误消息
  • [SRV-2941]-呼叫工作流程操作高级选项中的电子邮件通知对话框未正确显示
  • [SRV-2943]-server_logs.zip有时包含具有不完整执行者ID的文件夹
  • [SRV-2967]-通过REST覆盖工作流组会删除现有计划
  • [SRV-2990]-在端口表视图(作业视图)中不会更新延迟加载的表行
  • [SRV-3025]-KNIME服务器的帐户设置未在运行时应用
  • [SRV-3032]-工作流固定/保留规则不接受@字符
  • [SRV-3034]-无法读取更新的服务器配置,无法进行进一步的更新
  • [SRV-3044]-在工作流的临时副本上忽略了强制重置工作流
  • [SRV-3051]-无法在“编辑安装点”对话框中输入用户名
  • [SRV-3052]-服务器为工作流程中的循环发送多个状态电子邮件
  • [SRV-3060]-OAuth:尝试刷新访问令牌时出现NullPointerException