官网参考:https://www.cloudera.com/documentation/enterprise/upgrade/topics/ug_overview.html
注意:下文中的ip需要改成自己的ip
1、升级注意点
升级包括两个主要步骤,升级Cloudera Manager和升级CDH,在升级之前需要注意:
CDH 5和Cloudera Manager 5要求和支持的版本 注意JDK版本和集群之间的无密码访问。
2、升级准备
离线指的是安装时离线,可以从其他地方下载好下面的这些东西。
下载软件包(比如从5.7升级到5.10,系统是CentOS6.5)
http://archive.cloudera.com/cdh5/parcels/ 下载需要的版本
CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel
CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1
manifest.json
重命名,把后缀sha1改为sha
可选1:http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.0/RPMS/x86_64/ 下载需要的版本
cloudera-manager-agent-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
cloudera-manager-daemons-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
cloudera-manager-server-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
可选2:http://archive-primary.cloudera.com/cm5/repo-as-tarball/5.10.0/ 下载需要的版本
cm5.10.0-centos6.tar.gz
停止Cloudera Manager Server和Agent(所有主机)
在web界面停止集群和Cloudera Management Service
service cloudera-scm-agent stop
service cloudera-scm-server stop
备份CM的数据库。
配置本地yum源
安装http
yum install -y httpd(有则升级,无则安装)
开机启动
chkconfig httpd on
chkconfig --list | grep httpd
service httpd start
在/var/www/html下创建文件夹parcels
mkdir parcels
把下载的 CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel、CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1、manifest.json放到parcels文件内,如果manifest.json已经有了,就把旧的改后缀。
可以先打开web界面,点【主机】-》【parcel】-》右上的【配置】,然后把http://192.168.204.203/parcels/放在【远程 Parcel 存储库 URL】中的第一位。(可以把其他的都删除,只保留这一个)(开始更新CDH后如果系统找不到parcels也会提示配置parcel路径)
下面的步骤,如果安装CDH集群时已经做过,本次升级这些步骤可以跳过
解压 cm5.10.0-centos7.tar.gz 到 /var/www/html
tar -zxf cm5.10.0-centos7.tar.gz -C /var/www/html/
在/var/www/html目录下创建和官网一样的目录路径,然后 mv
mkdir -p cm5/redhat/6/x86_64/
mv cm cm5/redhat/6/x86_64/
这里在/cm5/redhat/6/x86_64/cm/5.10.0/RPMS/x86_64/下面有agent,daemons,server。
配置cdh集群在安装时下载包的路径(主要修改路径)
提醒: 每个机器都要配置 cloudera-manager.repo 文件
vi /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager, Version 5.10.0
baseurl = http://192.168.204.203/cm5/redhat/6/x86_64/cm/5/
gpgcheck = 0
打开url:ip/cm验证(比如192.168.204.203/cm5),能打开就成功了。
3、升级Cloudera Manager 守护进程
3.1选择了agent,daemons,server
如果下载的是agent,daemons,server三个rpm包,每个节点都创建文件夹mkdir /tmp/cloudera-manager-upgrade/cm
,然后把这三个rpm包放到这个文件夹内(除主节点外,其他节点只需要agent和deamons即可),然后每个节点都执行rpm -Uvh /tmp/cloudera-manager-upgrade/cm/*.rpm
。
3.2选择了cm5.10.0-centos7.tar.gz
主节点:(主节点安装了yum源,否则同下)
cd /var/www/html/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64
yum install -y cloudera-manager-daemons-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
yum install -y cloudera-manager-server-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
对于其他节点:(带上安装了yum源的路径即可)
yum install -y http://192.168.204.203/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64/cloudera-manager-daemons-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
另:我没有用这种方法,不知agent是不是也要安装上。在的CM升级的web界面上,应该也有配置【自定义存储库】的地方,就把本地yum源链接配置上http://192.168.204.203/cm5/redhat/6/x86_64/cm/5/
4、升级CM和CDH集群
启动
service cloudera-scm-server start
service cloudera-scm-agent start
稍等一会,打开web界面ip:7180
(比如192.168.204.203:7180),按照提示完成升级CM的步骤。
进入主页,升级CDH集群,按照提示完成所有步骤。