cube-studio配置镜像仓库并执行jar

理论上说,你配置后就能执行任何命令。实际上也可以。

cube-studio是利用rancher(理解为k8s的升级版)管理的

操作步骤:整1个docker镜像,输入参数执行,镜像内的命令

执行步骤:

1.你拉1个cenos7的服务器环境,然后将本地所需要的内容,打包好你需要的环境,可以参考这篇

看这一篇就够,docker往镜像中的Hosts中写入值(docker执行shell脚本)_我要用代码向我喜欢的女孩表白的博客-CSDN博客

2.镜像打包后,使用docker run本地测试

3.提交到自己的镜像仓库

4.在cube中创建仓库模板,就写你的镜像仓库

5.在cube中创建镜像,就写你的镜像地址

6.在cube中创建模板组件,就与你的执行命令的脚本与配置参数对应

7.拖拽组件,输入参数,执行命令

搭建私有仓库我用的是harbor:

harbor配置远程仓库_我要用代码向我喜欢的女孩表白的博客-CSDN博客

建立好私有仓库后

远程镜像仓库
---------------
harbor管理页面
http://192.168.9.56:83/

账号密码
admin
Harbor12345
-------------
镜像推送过程
1.登录
sudo docker login 192.168.9.56:83
2.打标记
sudo docker image tag 【本地镜像的名字:版本】   192.168.9.56:83/cube_public/【新名称】
sudo docker image tag sparkdemo:v4 192.168.9.56:83/cube_public/sparkdemo
3.推送
sudo docker push 192.168.9.56:83/cube_public/sparkdemo

cube-studio上的应用

在导航栏目录上选择,训练-》仓库,点击右边的+号,新增

 填上,你平常在服务端登录harbor的东西,然后点击保存

新增界面

-------------------

名称【你harbor中建立的项目仓库名,当然,你也可以自己写一个名字,他不会使用此名称去连接harbor,仅仅是作为cube-studio中的仓库名称】

名称:cube_public

域名【你使用harbor登录的网址名,也是login harbor的地址名】

域名:192.168.9.56:83

用户名【你harbor登录时候用的名字】

用户名:admin

密码【用户名对应的密码】

密码:Harbor12345

 然后点击,训练-》模板镜像,点击旁边的+号新增

 模板新增

---------------------

仓库【从你之前构建的仓库中选择】

仓库:cube_public

非常重要,名称【你平常怎么拉取镜像的,就写这个pull后面的整个内容,从仓库到版本都要写上,我之前就在这里踩了坑,不写版本默认,拉取latest版本】

名称:192.168.9.56:83/cube_public/sparkdemo

描述:随便写

我的镜像是提前已经全部构建好了,所有的配置,是独立进行配置的,所以不用写其他

然后保存

 任务构建,训练-》任务模板

 任务模板就是,你在任务流中,可以拿出来使用的算子(镜像整体)

任务模板填写

-----------------------

功能分类【工作流平台,点击左边可以拖拽的那些模块,这里选择数据处理】

功能分类:数据处理

镜像【你刚刚构建的镜像仓库模板】

镜像:xxx自己选择

名称【拖拽的算子,名称】

名称:spark2

版本【选择release,公开的,都能使用你创建的算子】

版本:release

描述:随便填

启动参数【你输入的参数,注意不是命令,他不能作为docker容器内的命令,马上就会介绍这个东西,可以参考他下面的提示内容】

启动参数:

{
    "参数": {
        "workdir": {
            "type": "str",
            "item_type": "str",
            "label": "启动目录",
            "require": 0,
            "choice": [],
            "range": "",
            "default": "/mnt/xx",
            "placeholder": "",
            "describe": "启动目录",
            "editable": 1,
            "condition": "",
            "sub_args": {}
        },
        "command": {
            "type": "str",
            "item_type": "str",
            "label": "启动命令",
            "require": 1,
            "choice": [],
            "range": "",
            "default": "sh start.sh",
            "placeholder": "",
            "describe": "启动命令",
            "editable": 1,
            "condition": "",
            "sub_args": {}
        }
    }
}

如果你要配置hosts,DockerFile不能配置,他这里也可以配置,并且会生效

 

他等价于

sudo docker run -d --name demo --add-host hadoop01:192.168.9.199 --add-host hadoop02:192.168.9.56 --add-host hadoop03:192.168.9.57 demo.jar

 保存后,打开任务流,选择或创建一个,进行工作

------------------------------------------------------------------------------------------------

插入一段,我踩的坑,问了cube开源群的作者我才明白。

不着急,先把下面的图看一遍,看完,我会说流程。

开源sh脚本要与你的模板的-配置参数对应

我写的dockerfile的内容

 

官方shell脚本中的内容

 

任务模板中的启动参数内容:

{
    "shell": {
        "--command": {
            "type": "str",
            "item_type": "str",
            "label": "执行命令",
            "require": 1,
            "choice": [],
            "range": "",
            "default": "spark-submit xx",
            "placeholder": "",
            "describe": "执行命令",
            "editable": 1,
            "condition": "",
            "sub_args": {}
        }
    }
}

工作流执行界面(拿任务流来做演示)

 

 

他除了自定义镜像外,只支持一种,任务模板的执行方式。通过传递参数,执行脚本(我之前是想着自定义镜像能直接在参数界面执行linux命令,我就把自定义镜像的参数copy到组件中,结果执行失败,后面去群里问开源作者们,得到的流程是)

自定义任务模板的流程:

在--command中写的其实只是参数(他与参数模板对应),点击运行后,他会去DockerFile中,找到对应的sh脚本(或者其他脚本py或者jar之类),并且去sh脚本中找到,$command,将值传过去

注意,你在任务模板中写的参数名(如command),必须和dockerFile中的执行命令(如sh start.sh)中的command相对应,而且针对不通的脚本,有不同对应参数的方法,不可自己乱写脚本的对应参数,应当去查看github中的脚本,或者视频中对应参数的方法,当然也可以去开源群里问

cube-studio/start.sh at master · tencentmusic/cube-studio · GitHub

附送开源群连接

 

 

--------------------------------------------------------------------------------------------------

使用

-----------

从左边拉出你刚刚创建的算子

在command中执行,docker中的命令,点击旁边的保存,将右边导航栏,拉在最上面,点击run

第一次很慢,后面就会很快

 

另外大家也可以打开容器,查看详细情况

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值