您正在查看9.7 -版本的RapidMiner部署文档点击这里查看最新版本
技术概述
本页面介绍了RapidMiner平台背后的部署技术背景,并提供了一些常见部署管理任务的示例,例如创建部署、向上和向下扩展、添加或删除可部署组件。
我们将组件发布为Docker映像集(在本文档中也称为服务)。这些映像是单机和多机部署的构建块。
单机部署
为了在一台机器上部署RapidMiner平台,我们选择了docker-compose
技术。
要部署,请使用docker-compose
你需要:
- 安装了Docker的目标(物理或虚拟)机,首选主机操作系统是Linux
- 一个
docker-compose.yml
部署描述文件,描述组件(服务)、网络配置、卷和环境变量 - 可选,但推荐使用
.env
配置文件,其中可以定义所需的参数并从docker-compose.yml
文件(这使得部署配置更容易,更不容易出错)
在docker-compose节中,我们提供了这些docker-compose.yml
和.env
文件到最常见的用例。这些模板应该开箱即用。
启动和停止部署
要启动这样的部署,您可以使用docker-compose
命令行工具(从你下载上述文件的目录):
启动整个平台(所有服务):
Docker-compose up -d
只启动选定的服务(例如Postgres数据库、RapidMiner服务器和Job Agent)
rm-server-svc rm-server-job-agent-svc
下面是一些如何停止和重新启动服务的示例。
停止所有服务:
docker-compose下来
重新启动其中一个被调用的服务(例如,RapidMiner服务器实例)
rm-server-svc
)重新加载其配置:Docker-compose restart rm-server-svc
扩展部署
扩展用例通常意味着扩展部署中Job Agent容器的数量。
扩展或缩小其中一个服务(例如RapidMiner Job Agent服务):
Docker-compose up——scale rm-server-job-agent-svc=5 -d
自定义部署
对于每个docker映像,可以设置一个环境变量列表,以便根据该映像启动docker容器。我们发布了全图像参考为每个RapidMiner Docker映像。
我们的出版模板已经配置为允许定义的服务一起工作。配置参数(环境变量)被外部化到.env
配置文件,您可以在其中微调配置参数。有
- “全局”配置变量,用于多个服务(如AUTH_SECRET,用于RapidMiner Server、Job Agent和Jupyterhub服务)
- “特定于服务”的配置变量(如作业代理的内存参数)
升级部署
要升级部署,您只需要编辑您的docker-compose.yml
包括您计划升级的服务的新版本,然后重新启动受影响的服务(见上文)。一定要检查图片参考以获取可能需要的任何新配置参数。
除了docker-compose
命令行工具可以使用Docker部署管理器,我们的船云映像并且是一个web UI,用于与基于docker- composition的部署进行交互。
多机部署
对于多机器部署,我们推荐Kubernetes作为编排技术。我们的码头工人的图片可以部署到任何Kubernetes集群。
我们用这些Kubernetes服务测试了我们的示例配置:
在kubernetes模板部分我们提供了示例部署配置和教程,但最终的部署取决于您的需求。
为每一个模板我们提供了—建议的卷定义,您可以在其中调整组件所需的存储大小—服务定义,它可以是其他服务(例如数据库服务)使用的内部服务,也可以是外部服务(例如RapidMIner服务器Web UI),这些服务都是公开给用户的。—部署配置是容器定义,非常类似于docker-compose.yml
文件,还包括所需的环境变量。
Kubernetes部署流程
的基础上提出的对象定义模板章节,你可以将RapidMiner服务器平台部署到Kubernetes集群:
- 确保与Kubernetes集群的连接正常
$ kubectl version客户端版本:version。Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:11:31Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}服务器版本:Version . .Info{Major:"1", Minor:"14", GitVersion:"v1.14.1", GitCommit:"b7394102d6ef778017f2ca4046abbaa23b88c290", GitTreeState:"clean", BuildDate:"2019-04-08T17:02:58Z", GoVersion:"go1.12.1",编译器:"gc",平台:"linux/amd64"}
- 创建并检查卷
$ kubectl apply -f volumes。创建persistentvolumclaim / rmvolume -claim / persistentvolumclaim $ kubectl get pv PVC $ kubectl get pv pv
- 创建和检查服务
$ kubectl apply -f services。$ kubectl get svc NAME - TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE postgresg -svc ClusterIP 10.152.183.3 . mysql ' service/rapidminer-server-svc created service/rapidminer-server-svc created service/rapidminer-server-svc created5432/TCP 72s rapidminer-server-amq-svc ClusterIP 10.152.183.128 rapidminer-server-svc LoadBalancer 10.152.183.252 ****** 8080:30661/TCP 72
- 部署服务
$ kubectl apply -f database。创建mysql /数据库:创建了$ kubectl apply -f job-agent。yaml的部署。一个pps/job-agent created
- 检查正在运行的pod
$ kubectl get pod NAME READY STATUS重启AGE pod/database 1/1运行0 41m pod/job-agent-556b49567b-5cm8n 1/1运行0 44s pod/job-agent-556b49567b-6585h 1/1运行0 44s pod/job-agent-556b49567b-zk44g 1/1运行0 44s pod/rapidminer-server 1/1运行0 40m