51.1 演示环境介绍
系统:RedHat7.2
CDSW版本1.1.1
用sudo权限的ec2-user用户操作
51.2 操作演示
查看CDSW基础镜像
- 登录CDSW平台查看使用的基础镜像名称
- 点击“Engines”
- 命令行查看CDSW基础镜像:
[ec2-user@ip-186-33-33-616 ~]**$** sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.repository.cloudera.com/cdsw/engine 2 b94fc4cc9b8b **2 months ago** 5.83 GB
定制Docker镜像
[ec2-user@ip-186-33-33-616 ~]$ sudo docker run -it --network='host' docker.repository.cloudera.com/cdsw/engine:2 /bin/bash
root@ip-186-33-33-616:/home/cdsw#
- 命令参数说明:docker run [OPTIONS]IMAGE [COMMAND] [ARG…]
-it : 进行交互式操作
--network : 设置docker容器的网络,这里设置network为host的与主机网络一致
- 修改R的CRAN源指向私有源
- 在/usr/local/lib/R/etc目录下新增文件Rprofile.site,并添加如下内容
root@ip-186-33-33-616:/home/cdsw# cd /usr/local/lib/R/etc/
root@ip-186-33-33-616:/home/cdsw# vim Rprofile.site
# Site R configuration.
local({r <- getOption("repos")#r["CRAN"] <- "https://cloud.r-project.org/"r["CRAN"] <- "http://ip-172-31-22-86.ap-southeast-1.compute.internal/"options(repos &#61; r)
})
- 安装R的依赖包
- 进入R的控制台安装包,我们这里安装了sparklyr和h2o包&#xff0c;为了方便直接使用外网环境安装的包
root&#64;ip-186-33-33-616:/usr/local/lib/R/etc# R
R version 3.3.0 (2016-05-03) -- "Supposedly Educational"
…
> install.packages("sparklyr")
> install.packages("h2o")
- 保存Docker镜像
- 在未退出容器的情况下&#xff0c;在新的命令窗口创建执行如下命令保存一个新的Docker镜像。
- 首先找到我们登录的容器ID
[ec2-user&#64;ip-186-33-33-616 ~]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69be88193fa7 docker.repository.cloudera.com/cdsw/engine:2 "/bin/bash" 57 minutes ago Up
- 获取到容器的ID执行如下命令将该容器保存为新的镜像。
[ec2-user&#64;ip-186-33-33-616 ~]$ sudo docker commit 69be88193fa7 docker.repository.cloudera.com/cdsw/myengine:2.0.0
sha256:727128de8e3df7e4b74395b9b9c8a4f5df6bba8cc7e03baffaf98436c4ff72d5
[ec2-user&#64;ip-186-33-33-616 ~]$
[ec2-user&#64;ip-186-33-33-616 ~]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.repository.cloudera.com/cdsw/myengine 2.0.0 727128de8e3d About a minute ago 6.01 G
总结
- 首先通过Docker命令启动CDSW的基础镜像&#xff0c;我们会在这个基础镜像中做一些配置修改和R包的预安装&#xff0c;并最终另存为我们所需要的“定制化”Docker。
- 然后将该Docker另存为我们的定制化Docker镜像&#xff0c;并将该定制化Docker配置到CDSW。
- 在新建Project的时候就可以选择该定制化Docker&#xff0c;已经预安装好了一些R依赖包&#xff08;sparklyr/h2o&#xff09;&#xff0c;在开发具体的算法工程时&#xff0c;就不用再去连接共有/私有源下载。当然因为配置好了R的私有源&#xff0c;万一有些包没有预安装&#xff0c;也可以临时安装。
大数据视频推荐&#xff1a;
CSDN
大数据语音推荐&#xff1a;
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能&#xff1a;深度学习入门到精通