0573-5.16.1-如何将CDSW从1.4.2升级到1.5

1 文档编写目的

Cloudera于2019年1月29日发布CDSW1.5,Fayson在前面的文章《0544-CDSW1.5的新功能》中对于1.5的新功能也做了介绍。对于已经安装并在使用的CDSW用户,很多都是1.4版本的,发布新版本,一般第一时间关心是如何升级,本文将主要描述如何升级CDSW。

  • 测试环境

1.CM和CDH版本为5.16.1

2.CDSW初始版本为1.4.2

3.集群已启用Kerberos

4.RedHat7.4

2 升级说明

在CDSW1.4.2之前,停止或重启CDSW服务,都可能导致CDSW数据丢失,这是CDSW的一个bug:TSB-346:

Risk of Data Loss During Cloudera Data Science Workbench (CDSW) Shutdown and Restart

该bug直到CDSW1.4.3才修复,当然我们要升级到的1.5也已经修复,但本文要介绍的环境基础版本是1.4.2,所以也会有这个问题,而升级肯定会涉及CDSW服务的停止或重启,所以我们需要参考Cloudera官方提供的安全的方式来停止CDSW服务,该方式同时还会帮你自动备份数据。

具体参考:

https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_release_notes.html#fixed_issues_143__TSB-350

3 升级前准备

1.下载cdsw_protect_stop_restart.sh到CDSW Master节点,该脚本主要会帮你备份CDSW的项目数据。

[root@cdsw ~]# wget https://www.cloudera.com/documentation/other/shared/cdsw_protect_stop_restart.sh
[root@cdsw ~]# cat cdsw_protect_stop_restart.sh

2.执行该脚本,按照提示操作:

[root@cdsw ~]# sh cdsw_protect_stop_restart.sh

按回车

去CM界面上停止CDSW服务,然后再按回车

3.在Master节点上备份/var/lib/cdsw目录

[root@cdsw ~]# tar cvzf cdsw.tar.gz /var/lib/cdsw/*

4.如果你在使用的是Redhat,而且CDSW的版本低于1.4.2,你还需要重启所有CDSW节点,因为从1.4.2开始,CDSW打包了一个Redhat内核bug的修复包,而为了让其生效,需要重启所有服务器。Fayson的环境是1.4.2的默认已包含,该过程省略。

5.从CM界面停用旧的CDSW1.4.2的包。

6.下载CDSW1.5的CSD文件到Cloudera Manager节点。

[root@ip-172-31-13-38 ~]# cd /opt/cloudera/csd
[root@ip-172-31-13-38 csd]# rm -rf CLOUDERA_DATA_SCIENCE_WORKBENCH-CDH5-1.4.2.jar 
[root@ip-172-31-13-38 csd]# wget https://archive.cloudera.com/cdsw1/1.5.0/csd/CLOUDERA_DATA_SCIENCE_WORKBENCH-CDH5-1.5.0.jar
[root@ip-172-31-13-38 csd]# chown cloudera-scm:cloudera-scm CLOUDERA_DATA_SCIENCE_WORKBENCH-CDH5-1.5.0.jar 
[root@ip-172-31-13-38 csd]# chmod 644 CLOUDERA_DATA_SCIENCE_WORKBENCH-CDH5-1.5.0.jar 
[root@ip-172-31-13-38 csd]# systemctl restart cloudera-scm-server

7.待Cloudera Manager重启完成后,登录CM,重启Cloudera Management Service。

4 准备CDSW1.5的安装包

1.下载准备CDSW1.5的Parcel包:

https://archive.cloudera.com/cdsw1/1.5.0/parcels/CDSW-1.5.0.p1.849870-el7.parcel
https://archive.cloudera.com/cdsw1/1.5.0/parcels/CDSW-1.5.0.p1.849870-el7.parcel.sha
https://archive.cloudera.com/cdsw1/1.5.0/parcels/manifest.json

2.将下载好的Parcel包部署在本地的apache服务器的/var/www/html/cdsw1.5目录下

3.验证本地Parcel部署是否成功

4.使用管理员登录Cloudera Manager,进入Pacel主界面

5.点击“配置”,将cdsw1.4版本的本地Parcel库地址配置到列表中

6.保存更改后回到Parcel界面查看加载在的CDSW1.5版本

7.下载->分配->激活

5 升级CDSW

1.通过CM进入CDSW服务,点击“配置”,搜索“Install Required Packages”,如果已勾选,则跳过该步直接到下一步,否则需要在所有的CDSW节点上手动安装以下包:

nfs-utils
libseccomp
lvm2
bridge-utils
libtool-ltdl
iptables
rsync
policycoreutils-python
selinux-policy-base
selinux-policy-targeted
ntp
ebtables
bind-utils
nmap-ncat
openssl
e2fsprogs
redhat-lsb-core
socat

2.通过CM进入CDSW服务,进入“实例”页面,全选三个角色。

点击“已选定的操作”->“Prepare Node”

3.重复上面的步骤,再次点击“Prepare Node”

4.重启CDSW服务

5.等待CDSW服务完全就绪,这个过程可能时间较长。

6.最终启动完毕

6 更新默认的引擎到v7并且验证CDSW

1.使用admin登录CDSW进入“Admin”->“Engines”,选择Base Image v7

保存成功

2.启动一个会话进行测试,可以看到镜像已经是v7

运行成功。

3.检查CDSW的版本已经是1.5

7 总结

1.如果你的CDSW版本低于1.4.3,在停止或者重启CDSW服务时一定能注意要备份好数据,否则可能导致CDSW的数据丢失,官网提供了专门用于备份数据的脚本,具体参考本文的第二和第三章节。

2.如果你的初始CDSW版本是1.4.1或更低,同时你使用的是Redhat,在备份好CDSW数据以及停止CDSW服务准备升级时,还需要重启所有CDSW节点服务器,因为从1.4.2开始,CDSW打包了一个内核的bug的补丁包,重启服务器是为了让其生效。

3.更新了CDSW1.5的Parcel包以后,在重启CDSW服务前,一定要点击“Prepare Node”,因为CDSW会更新OS的包。

4.严格按照文档升级成功后,不会导致CDSW平台的工程、用户以及配置等信息丢失。

5.升级成功后,CDSW准备好需要较长的时间,需要有一定的心理准备,Fayson的环境没有什么数据,也用了快20分钟。

6.在升级过程启动CDSW的时候,后台启docker在做数据库迁移的时候出现了故障,有一个db-migrate的docker会报错起不来,解决过程比较长,单独写了文章,请参考明天的文章《CDSW1.4升级1.5版本db-migrate镜像启动失败问题解决》

参考文档:

https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_upgrade_parcel.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值