相关文章链接

CentOS7安装CDH 第一章:CentOS7系统安装

CentOS7安装CDH 第二章:CentOS7各个软件安装和启动

CentOS7安装CDH 第三章:CDH中的问题和解决方法

CentOS7安装CDH 第四章:CDH的版本选择和安装方式

CentOS7安装CDH 第五章:CDH的安装和部署-CDH5.7.0

CentOS7安装CDH 第六章:CDH的管理-CDH5.12

CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置

CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作

CentOS7安装CDH 第九章:CDH中安装Kafka

CentOS7安装CDH 第十章:CDH中安装Spark2

CentOS7安装CDH 第十一章:离线升级CDH版本

CentOS7安装CDH 第十二章:YARN的资源调优

CentOS7安装CDH 第十三章:CDH资源池配置

CentOS7安装CDH 第十四章:CDH的优化

1. 升级概述

1、CM(cloudera manager)升级概述:

  CM的安装是使用rpm包的安装,详情请看上述CM的安装,所以升级的时候也是rpm包的升级即可。

2、CDH升级概述:

  CDH的安装是使用离线的Parcel包安装的,所以也使用Parcel来升级,需要先将Parcel包离线下载下来。

2. 升级中需要注意的地方

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中进行查看

3. CM(cloudera manager)升级

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升级成功:

  

4. CDH集群升级

1、检查Parcel中的本地url是否配置好:

  

2、在CDH的主界面的Cluster上点击升级集群按钮:

  

3、选择已配置好的离线Parcel的版本,并进行主机检查(主机检查可能会有大页面和swap等警告,可以参照上述CDH安装章节处理或百度),然后勾选已执行上述的复选框,再点击继续按钮:

  

  

4、会进行下载,分配和解压等操作,等执行完点击继续按钮:

  

5、选择完整集群重启升级,但此操作会重启集群上所有服务:

  

6、会对集群上的所有服务进行安装和启动:

  

7、升级成功:

  

8、在升级CDH之后有可能出现oozie的内部版本和共享库版本不匹配,此时可以在oozie服务上重新安装共享版本,如下所示:

  

  停止oozie服务:

  

  安装oozie共享库:

  

  重新启动oozie:

  

CentOS7安装CDH 第十一章:离线升级CDH版本的更多相关文章

  1. centos7安装 python3.6,且保留2.7版本

    CENTOS7安装PYTHON3.6 1. 安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-dev ...

  2. Centos7 安装python3详细教程,解决升级后不兼容问题

    一.确认当前python版本 [root@centos Python-3.6.1]# python Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC ...

  3. centos7下只需两个命令升级php版本

    我的php5.4 升级到5.6 sudo yum clean allsudo yum install -y php56w Resolving Dependencies --> Running t ...

  4. centos7安装opencv3.4.1(同样适用于最新版本4.2.0)

    安装cmake3: echo '[group_kdesig-cmake3_EPEL]name=Copr repo for cmake3_EPEL owned by @kdesigbaseurl=htt ...

  5. CentOS7安装CDH 第十四章:CDH的优化

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  6. CentOS7安装CDH 第十三章:CDH资源池配置

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  7. CentOS7安装CDH 第十二章:YARN的资源调优

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  8. CentOS7安装CDH 第九章:CDH中安装Kafka

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  9. CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

随机推荐

  1. 生成有目录的pdf

    生成有目录的pdf 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://jingyan.baidu.com/article/ff411625c2153512e48237a ...

  2. 代码内存泄露检测(1) MLeaksFinder (Wechat开源) + FBRetainCycleDetector (FaceBook开源)

    每次项目编译完成之后,都被内存搞得头昏脑胀,压力甚大. 利用两周时间,稍微研究了 微信开源的 MLeaksFinder 和 facebook 开源的 FBMemoryProfiler, 这两个开源三方 ...

  3. 三、部署DNS

    通常情况下配置好域后,DNS会默认安装好,但有时候这个DNS只能解析域控的域名,不能解析其他域名,比如baidu.com之类的.此时需要配置转发器,把不能解析的域名转到其他DNS配置如下: 打开DNS ...

  4. 设计模式之--Visitor

    Ref: https://www.jianshu.com/p/feec47a25b67 https://www.cnblogs.com/alphablox/p/5346567.html

  5. 分布式 ID

    [参考文章] Leaf——美团点评分布式ID生成系统 分布式全局唯一ID生成策略 从一次 Snowflake 异常说起 [雪花算法问题] 微服务架构下 机器码如何生成? 如何处理时钟回调问题?

  6. QT 读写.ini配置文件

    当需要存放的数据量较少时合适使用.ini配置文件. #include <QCoreApplication> #include <QSettings> void SystemSe ...

  7. QT加载自带字体

    #include <QCoreApplication> #include <QStringList> #include <QFontDatabase> #inclu ...

  8. C#使用消息队列(MSMQ)

    最近项目用到消息队列,找资料学习了下.把学习的结果 分享出来 首先说一下,消息队列 (MSMQ Microsoft Message Queuing)是MS提供的服务,也就是Windows操作系统的功能 ...

  9. sql 语句实现一串数字位数不足在左侧补0的技巧

    https://www.cnblogs.com/mylydg/p/5725189.html 在日常使用sql做查询插入操作时,我们通常会用到用sql查询一串编号,这串编号由数字组成.为了统一美观,我们 ...

  10. SQL SERVER 中如何获取日期(一个月的最后一日、一年的第一日等等)

    https://blog.csdn.net/deepwishly/article/details/9101307 这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, DAT ...