Workflow Studio 3.1.1及以上 版本executor组件(agent)RPM包安装配置指南

概要描述

客户在使用各种代码文件运行workflow的时候,内部pod无法满足客户运行代码的环境需求,这个时候在客户将配置好的代码环境上安装workflow的外部executor,通过executor来在指定的环境下运行指定的代码。本文就如何安装及配置外部executor客户端进行一个说明

详细说明

1.下载RPM包

下载workflow-executor RPM安装包,可以从下图所示“执行器管理”页面右上角点击“下载执行器rpm安装包”

上传RPM安装包到客户指定的Linux服务器,RPM安装包的一般默认下载文件名为workflow-executor-3.1.1.noarch.rpm,可使用如下命令行进行安装,安装过程中会创建名为workflow的用户
rpm -ivh workflow-executor-3.1.1.noarch.rpm

安装完成后,默认服务程序安装目录为/usr/local/workflow-executor,该目录下包含3个子目录分别为/bin、/lib、/conf,其中/bin包含服务启停的操作脚本,/lib包含workflow-executor组件的jar包,/conf包含组件运行所需配置文件

2.修改application.yml配置文件

服务启动前,需要对路径为/usr/local/workflow-executor/conf/application.yml的配置文件进行修改,修改部分如下图所示

a.修改eureka项defaultZone参数

修改地址一般为Foundation-web的地址,默认端口是28190,具体端口号可以在manager界面查询

b.修改foundation.log.audit.user-server.host配置

修改为foundation-web的访问地址

c.修改日志配置

修改log.dir配置,表示日志存放的具体的路径,
备注:如果当前环境有部署的workflow-executor服务,不要把该路径设置成/var/log/workflow1/workflow-executor(即通过manager直接部署的executor的日志路径),建议与原有路径区分。
日志文件和执行日志相关的新建的文件夹均进行chmod 777赋权操作(或将文件夹所有者改为workflow用户),该路径只涉及写入日志信息等。

d.sql任务的运行驱动准备

e.运行环境

当执行agent任务作为离线任务(java,python等)的执行器时,需要一个目录用于保存上传的文件,默认文件路径为/var/lib/workflow-executor/task/file。若要更换其他路径,请提前处理目录权限。
执行器执行环境的配置,请到“执行器管理”-“运行环境路径”。

f.执行目录

任务执行时使用的临时目录,默认为/tmp/workflow-executor,若有需要可自行调整,修改后需要重启executor。请保证executor启动用户对配置的路径及其中文件有完整权限。同时,该目录的权限需要保持为workflow:workflow(如果是root:root可能会报错)

g.启动用户

workflow executor启动用户,默认为workflow,如果需要调整,需要修改启动脚本。修改后请重新启动
启动脚本路径:/usr/local/workflow-executor/bin/workflow-executor

3.跨集群hosts配置

1)把非docker部署的executor所在节点的ip hostname映射信息更新在workflow-server、workflow-scheduler所在节点/etc/hosts、/etc/transwarp/conf/hosts中
并重启workflow-server、workflow-scheduler两个服务的pod

2)把workflow-scheduler所在节点的IP HOSTNAME映射关系,更新在远程executor所在节点的/etc/hosts

4.启动服务

完后配置后,进行启动服务

service workflow-executor start

/etc/init.d/workflow-executor start

日志打印在/usr/local/workflow-executor/nohup.out
备注:如若后续再次修改配置,都必须重新启动服务

5.页面验证

服务启动成功后页面即可看到生成了新的执行器

用这个执行器执行一个脚本任务,可以执行成功

运行成功即代表集群外workflow-executor安装成功

注意事项

认证问题

启动服务时可能会出现如下报错,一般是因为集群外的服务器认证文件与集群内不一致导致的

解决办法以下二选一:

(1)信任eureka服务使用的https证书。
a.访问executor需要注册到的foundation user server容器,获取文件:/srv/oauth2server/ca.crt
b.在executor部署节点本地导入证书,执行命令:keytool -import -keystore "<节点jdk目录>\jre\lib\security\cacerts" -file "<刚刚获取的ca.crt文件路径>" -alias caskeystore,密码 changeit

(2)在manager服务部署的Workflow-executor pod中拷贝出jdk,并在启动脚本中指定javaExec路径:${拷贝出来的jdk的存放路径},具体如下:
启动脚本路径:/usr/local/workflow-executor/bin/workflow-executor

添加环境

执行器添加python执行环境

阅读剩余
THE END