工作代理人
在开始时,作业代理生成可配置数量的作业容器作为独立的系统进程。作业代理负责通过REST通信将传入的作业从它们分配的队列重定向到本地生成的作业容器。生成的作业容器仅作为RapidMiner进程的执行单元。在作业代理应用程序运行期间,作业容器保持活动状态,并在管理作业代理关闭时自动关闭。
本页概述如何配置作业代理。请参阅体系结构页阅读更多关于作业代理和作业容器结构概述。
配置
代理的属性
您可以通过更改更改作业代理的配置{homeDir} / config /溶剂进行
.每个属性都有一个注释,说明配置对代理和衍生的Job container有什么影响。除了像生成作业容器的数量或每个作业容器使用的最大内存数量这样的设置外,还可以配置以下小节中概述的更复杂的行为。
集装箱港口
当作业容器在作业代理启动期间派生为独立的系统进程时,它们被绑定到系统端口。这是必要的,因为作业代理通过REST端点与它们通信,例如重定向作业或检索作业的最新状态。作业代理将使用从定义的启动端口开始的连续端口。最后一个端口由配置的Job Containers的数量决定,例如if1000
定义为启动端口和四个作业容器应产生的总数,作业代理将绑定端口1000
,1001
,1002
而且1003
.作业容器只在本地侦听,并且不能从任何其他地方访问本地主机
/127.0.0.1
.
容器启动政策
默认情况下,作业容器将无限运行,并且不会在作业执行后重新启动。通过这种行为,可以几乎立即执行大量作业。一个可能的缺点是,当顺序运行时,作业可能会相互影响。为了克服这个问题,可以将重启策略分配给作业容器。支持的重启策略有:无限运行,在可配置数量的执行进程后终止,并通过cron表达式定期重启。当调用重启时,当前活动的作业执行将在作业容器重新启动之前完成。要更改此行为,可以设置jobagent.restart.timeout
财产。然后,作业代理将在执行时间超过此超时后强制终止作业容器,而不管它是否仍在运行。
用于项目的容器缓存
当一个进程从一个项目时,作业容器会先下载相应的项目文件,以便在执行过程中使用。流程完成后,将删除这些临时工作文件。如果流程执行更改了项目文件,它们将自动添加为新的Snapshot。
由于作业容器需要下载项目文件,对于大型项目来说,这将花费时间,因此进程执行时间可能会因此增加。为了减少下载文件的初始时间,每个Job Container通过应用缓存策略来缓存已经下载的Projects。在进行
的值,可以调整此行为jobagent.container.repository.caching.strategy
财产。默认情况下,Job Container会在缓存中保留两个Project,并在需要下载新Project时替换最近最少使用的Project。关于存在哪些不同的策略以及如何配置它们以满足您的需求的更多详细信息,请参阅进行
文件。
安全关闭代理
默认情况下,作业代理将等待所有作业执行完成后才关闭。但是,这可以通过设置作业代理来避免jobagent.shutdown.timeout
.
容器的属性
可以根据需要向作业容器添加属性当你想让他们随时待命。通常,作业容器以两种不同的方式引用它们的属性:
- 在开始和
- 作业将要执行的时间。
在开始
当由作业代理生成新的作业容器时,则执行上下文中定义的{homeDir} / config / rapidminer /。RapidMiner
复制到作业容器,以便在执行期间使用它。如果您的扩展需要它,您可以将您自己的配置文件放到这个目录中。
你也可以使用资源管理中心同步的执行上下文从RapidMiner服务器主文件夹.
还可以在Job Container Studio初始化期间添加其他属性。如果你需要提供Job Container启动时已经需要的扩展属性,例如当操作符被注册时,这特别有用:
- 使用
jobagent.container.initWithProperties.enabled
启用或禁用,默认为禁用 - 使用
jobagent.container.initWithProperties.location
若要设置属性文件的绝对位置,默认为rapidminer-init.properties
在{homeDir} / config / rapidminer /
文件夹
这些属性文件不是自动同步的,可能需要针对部署的每个Job Agent实例进行调整。
排队等待新工作
当您向队列提交作业时,它将由负责该队列的相应作业代理获得。然后,它通过REST转发到由该作业代理管理的作业容器。每当发生这种情况时,属性文件{homeDir} / config / rapidminer / rapidminer.properties
由作业代理读取,其内容通过管道输送到作业中,以便作业容器可以将它们用作系统属性,因此在执行期间它们也会暴露给扩展。请记住,对于新作业,属性会被重写。这意味着在执行之间更改文件将导致不同的属性值被传播到不同作业的作业容器。
这个文件也可以是用于为作业容器提供自定义属性(例如扩展属性)但在作业容器启动期间不是必需的。
容器JVM参数
作业容器由它们的作业代理启动,并带有一组默认的JVM参数,例如XX: + UseG1GC
.
来添加附加参数将被转置到作业容器中,请编辑进行
文件,并通过类似的方式指定它们来添加新的属性jobagent.container.jvmCustomOptions = -Dnew。属性= new -Danother.property =
.这将转置-Dnew。属性= new -Danother.property =
到由作业代理生成的每个作业容器。
请注意财产的全部价值jvmCustomOptions
将转换为作业容器的启动参数。其中的任何错误都可能导致作业容器不再正确生成。
如果有必要,也可以这样做覆盖所有默认的JVM参数尽管我们强烈建议不要这样做。在某些用例中,这可能仍然是可行和需要的。来覆盖你需要编辑它们进行
文件并定义类似于jobagent.container.jvmProperties = Dtest.property1 = test1, Dtest.property2 = test2
.确保您需要的任何默认参数仍然存在。控件中打印所有JVM默认参数agent.log
Job Agent启动时。
请注意没有前导连字符,属性之间用逗号分隔jvmProperties
财产。
容器使用代理
控件在作业容器内配置代理使用rapidminer.properties
文件里面的美元jaHomeDir / config / rapidminer
文件夹中。属性名称与在内部配置代理时相同公司代理.
从你的/ RapidMiner / rapidminer-studio-settings.cfg
配置文件,例如如下所示。
rapidminer.proxy。mode=手动代理配置rapidminer.proxy.https.proxyHost=myproxy.domain。tld rapidminer.proxy.https.proxyPort = 8443
作业容器将获取这些值并在整个执行过程中使用它们。
如果您的代理需要身份验证,例如基本身份验证,就像在Studio中使用工作室的钱包管理您的密码。后来,复制.RapidMiner /加密
而且.RapidMiner / credentials.xml
将文件放入执行上下文文件夹{homeDir} / config / rapidminer /。RapidMiner
Job Container的。默认情况下,将在Job Container启动期间拾取必要的文件。用于此目的的默认对称密钥预计为{homeDir} / config / rapidminer / .RapidMiner /加密/对称/ default-local-context.rmek
.
乐鱼体育安装
为了使RapidMiner进程能够正确执行,作业代理使用各种外部资源,如JDBC驱动程序、RapidMiner扩展、自定义Java库和RapidMiner服务器许可证。乐鱼体育安装这些资源存储乐鱼体育安装在{homeDir} 乐鱼体育安装/资源/
Job Agent的文件夹。
资源管理中心
作业代理的外部资源集中管理,并自动从作业代理连接的乐鱼体育安装RapidMiner Server实例同步。也执行上下文默认情况下,将同步到所有作业代理。
资源管理
集中管理的作业代理资源存储在乐鱼体育安装资源/
文件夹的RapidMiner服务器主文件夹.RapidMiner Server和所有连接的作业代理都使用同一组资源。乐鱼体育安装
要安装新的或管理现有的集中管理资源,请执行以下操作:乐鱼体育安装
- 选择要更新的资源类型(JDBC、扩展、自定义库)
- 从下表中找到要更新的资源类型的路径
- 通过从选定文件夹中添加或删除内容来更新资源类型
- 重启RapidMiner服务器。所有连接的作业代理将自动从RapidMiner Server同步新的资源配置。
类型 | 路径 |
---|---|
JDBC | < rapidminer-server-home 乐鱼体育安装> /资源/ jdbc / |
扩展 | < rapidminer-server-home 乐鱼体育安装> / /资源/扩展 |
自定义库 | < rapidminer-server-home 乐鱼体育安装> /资源/ libs / |
许可证 | 在许可证安装时,通过RapidMiner Server UI将许可证自动同步到连接的作业代理 |
执行上下文 | < rapidminer-server-home > /。RapidMiner / |
自动同步
默认情况下,在作业代理启动后,所乐鱼体育安装有资源和执行上下文都自动从RapidMiner Server实例同步。此外,资源在重新启动乐鱼体育安装RapidMiner Server实例后会同步。
作业代理将资源下载到特定于类型的资源文件夹中,并覆盖所有乐鱼体育安装潜在的现有文件。这些特定于类型的资源文件夹是:
类型 | 路径 |
---|---|
JDBC | < jobagent-home 乐鱼体育安装> /资源/ jdbc / |
扩展 | < jobagent-home 乐鱼体育安装> / /资源/扩展 |
自定义库 | < jobagent-home 乐鱼体育安装> /资源/ libs / |
许可证 | < jobagent-home 乐鱼体育安装> / /资源/许可 |
执行上下文 | < jobagent-home > / config / rapidminer /。RapidMiner |
个人资源管理
若要使用与集中管理资源设置不同的单个资源设置作业代理,可以通过设置禁用自动同步乐鱼体育安装jobagent.sync.enabled = false
在配置/溶剂进行
文件。重新启动作业代理后,它将只使用各自资源文件夹中已经可用的资源。乐鱼体育安装
要安装新的或管理现有的本地资源,请执行以下操作:乐鱼体育安装
- 关闭作业代理
- 找到要更新的资源类型的路径
- 通过从选定文件夹中添加或删除内容来更新资源类型
- 重新启动作业代理
资源类型
JDBC
JDBC连接可以在{homeDir} 乐鱼体育安装/资源/ jdbc / jdbc_properties.xml
文件。
扩展
扩展由{homeDir} 乐鱼体育安装/ /资源/扩展
目录中。
自定义库
自定义库是可以在RapidMiner进程中使用的Java库,例如在执行脚本
操作符。可以将这些库添加到{homeDir} 乐鱼体育安装/资源/ libs /
文件夹,然后它们就可以自动执行了。
许可证
Job Agent license安装在{homeDir} 乐鱼体育安装/资源/许可证
目录中。
您可以定义生成的作业容器的数量(jobagent.container.count
)和每个作业容器的内存(jobagent.container.memoryLimit
){homeDir} / config /溶剂进行
文件。请记住,这些设置需要符合您当前的服务器许可证。
执行上下文
的执行上下文为每个作业容器复制{homeDir} / config / rapidminer /。RapidMiner
作业容器启动期间。