类别

版本

您正在查看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 created
        5432/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