CentOS7安装CDH 第一章:CentOS7系统安装html
CentOS7安装CDH 第二章:CentOS7各个软件安装和启动python
CentOS7安装CDH 第三章:CDH中的问题和解决方法mysql
CentOS7安装CDH 第四章:CDH的版本选择和安装方式web
CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0sql
CentOS7安装CDH 第六章:CDH的管理-CDH5.12数据库
CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置windows
CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操做浏览器
CentOS7安装CDH 第九章:CDH中安装Kafka运维
CentOS7安装CDH 第十章:CDH中安装Spark2oop
一、CM(cloudera manager)升级概述:
CM的安装是使用rpm包的安装,详情请看上述CM的安装,因此升级的时候也是rpm包的升级便可。
二、CDH升级概述:
CDH的安装是使用离线的Parcel包安装的,因此也使用Parcel来升级,须要先将Parcel包离线下载下来。
1.在生产环境中升级必定要注意记得备份数据库和HDFS。
2.当对python进行升级时候会发现yum源不能使用,能够进行以下操做:
a) 当对python升级以后,是由于没有一个模块module,因此致使yum不能使用(即当前python里找不到yum源模块),此时能够将python从新指向升级以前的文件,就可使用了。
b) 具体操做以下:
修改以下位置:
执行清理yun源的操做就能够正常使用了:yum clean all
3.在升级过程当中,有可能遇到文件没有下载失败(即在下载、分配那一个界面失败)的状况,以下图所示,此时能够采起以下操做(以升级CDH5.16为例):
a) 找到对应机器,执行以下命令,进入到相应的文件夹中,再查看该目录下的全部文件(包括隐藏文件),能够看到一个.flood文件夹,这是下载和解压所用的文件夹,根据具体状况对其中的CDH5.16的包进行删除:
cd /opt/cloudera/parcels
ll -a
b) 执行以下命令,要保证磁盘空间充足,在对CDH5.16进行升级时,磁盘至少须要7G以上的空间,否则会失败,有以下异常,之后根据CDH的版本更新,有可能须要的空间更多(这方面能够询问运维):
异常:Src file /opt/cloudera/parcels/.flood/CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel/CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel does not exist
查看磁盘的命令:df -h
c) 能够查找flood进程,而后kill掉,重启agent服务,去web界面安装:
ps -ef | grep flood
kill -9 进程号(能够直接使用以下命令解决:kill -9 $(pgrep -f flood))
service cloudera-scm-agent restart
d) 查看日志方式:
cd /var/log/cloudera-scm-agent/
tail -f cloudera-scm-agent.log
也能够先清空日志(echo "" > xxx.log),而后运行服务,看报什么错,
再直接使用sz命令,将日志发送到windows中进行查看
1.下载cm的tar包和CDH的parcels包,并将这些包上传到/var/www/html目录下,此过程能够参考上述CDH离线安装中的过程,完成以后能在浏览器上看到以下界面:
2.检查 /etc/yum.repos.d/cloudera-manager.repo 中的yum源是否设置正确,若是其中最后是5,就不须要修改,由于在解压的cm包中有软链接,以下图:
请注意:上述的yum源,是全部机器都要检查,都要一致,保证其它机器能从cm机器上下载到CM的安装包。
此时将parcels的地址配置到CDH的Parcel配置中,会出现以下错误:
这时须要先将CM升级以后,才能升级CDH,直接去升级CM就能够了。
3.关闭CDH集群中各个服务和CM服务
4.关闭集群中各个机器的server和agent服务和数据库服务
# 中止服务命令
service cloudera-scm-agent stop
service cloudera-scm-server stop
service mysqld stop(因为本集群是使用mysql数据库,因此关闭mysql)
# 数据库备份命令,如下以cmf数据库为例,其它数据库也要备份
mysqldump -uroot -p123456 cmf > /tmp/cmf20171015.sql
mysql -uroot -p cmf < /tmp/cmf20171015.sql
5.升级cm机器的server+agent
[root@bigdata01 ~]# yum clean all
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
[root@bigdata01 ~]# yum upgrade 'cloudera-*'
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
6.升级集群其余机器的agent
[root@bigdata01 ~]# yum clean all
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
[root@bigdata01 ~]# yum upgrade 'cloudera-*'
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
7.启动集群机器的 db,server,agent
service mysqld start
service cloudera-scm-agent start
service cloudera-scm-server start
8.登陆web的7180界面,进行CM服务的启动操做:
登陆页面以后发现以下页面显示,点击运行Host Inspector进行主机检查,检查以后点击显示检查结果,会发现有大页面的提示,此时参照上述CDH安装章节的大页面解决方案,解决完大页面。
解决大页面以后发现以下界面,点击启动CM的服务:
启动CM服务以后会进入升级向导界面,依次点击下一步便可:
9.CM升级成功:
一、检查Parcel中的本地url是否配置好:
二、在CDH的主界面的Cluster上点击升级集群按钮:
三、选择已配置好的离线Parcel的版本,并进行主机检查(主机检查可能会有大页面和swap等警告,能够参照上述CDH安装章节处理或百度),而后勾选已执行上述的复选框,再点击继续按钮:
四、会进行下载,分配和解压等操做,等执行完点击继续按钮:
五、选择完整集群重启升级,但此操做会重启集群上全部服务:
六、会对集群上的全部服务进行安装和启动:
七、升级成功:
八、在升级CDH以后有可能出现oozie的内部版本和共享库版本不匹配,此时能够在oozie服务上从新安装共享版本,以下所示:
中止oozie服务:
安装oozie共享库:
从新启动oozie: