热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HDP2.3.2升级到HDP2.3.4

HDP2.3.2升级到HDP2.3.41版本对应1HDP-Ambari-Spark版本对应2HDP234的组件版本3spark152在hdp运行条件2准备1检查serviceact

HDP2.3.2升级到HDP2.3.4

    • 1版本对应
      • 1 HDP-Ambari-Spark版本对应
      • 2 HDP234 的组件版本
      • 3 spark152在hdp运行条件
    • 2准备
      • 1 检查service action 的start stoprun service check
      • 2启动所有服务并清除警告
      • 3 保证没有maintenance状态的服务
      • 4 时间服务ntpd启动停止
      • 5备份数据库
      • 6本地库配置
        • 61 下载需要的包
        • 62 拷贝hdp的升级包到指定位置
        • 63 拷贝 hdp-utils包
        • 64 base URL
        • 65 对配置多个库的集群要执行
    • 3准备升级
    • 4升级Manual Maintenance Upgrade
      • 1 注册新版本
      • 2 安装新版本
        • 21 在集群上安装包
        • 22 在三台机器上安装完后出现
        • 23 选定HDP版本
        • 24 首先启动 Zookeeper
        • 25 让集群在目标版本上运行
      • 问题
    • 5总结


先介绍下,本集群 BigData 现在的环境是ambari2.1.2,hdp2.3.2,目标是不升级ambari,而升级HDP。本集群有三台机器:master、slave1、slave2,都是运行在centos6.7下的。本文是根据官方文档 HDP2.3.2版本下的Ambari Upgrade Guide 而写的.
之所以写本文,一方面是想把自己的经验分享给大家,另一方面也是有问题请教大家。因为升级到最后,集群中的一台机器slave1总是处在 upgrading状态,而集群中的master 和slave2 却升级成功,显示 upgraded状态。

提示:通过ambari集群管理的HDP的升级一定要参考Ambari Upgrade Guide ,而不是Non-Ambari Cluster Upgrade Guide.


1版本对应


1.1 HDP-Ambari-Spark版本对应

这里写图片描述

1.2 HDP2.3.4 的组件版本


Apache–versions for–HDP 2.3.4
Apache Accumulo 1.7.0Apache Atlas 0.5.0Apache Calcite 1.2.0
Apache DataFu 1.3.0Apache Falcon 0.6.1Apache Flume 1.5.2
Apache Hadoop 2.7.1Apache HBase 1.1.2Apache Hive 1.2.1
Apache Kafka 0.9.0Apache Knox 0.6.0Apache Mahout 0.9.0+
Apache Oozie 4.2.0Apache Phoenix 4.4.0Apache Pig 0.15.0
Apache Ranger 0.5.0Apache Slider 0.80.0Apache Solr 5.2.1
Apache Spark 1.5.2Apache Sqoop 1.4.6Apache Storm 0.10.0
Apache Tez 0.7.0Apache ZooKeeper 3.4.6Additional component
Cascading 3.0.1Hue 2.6.1

1.3 spark1.5.2在hdp运行条件

因为主要是想用spark1.5,所以才升级hdp的。

这里写图片描述

运行Spark 1.5.2的前提条件: HDP版本在2.3.4及以上。

注意:HDP升级到2.3.4以后,spark自动升级到了1.5.2 。
先升级ambari到2.2,再升级HDP到2.3.4,也可以直接用amabri2.1,升级hdp到2.3.4。这几种方法我都试过,但是升级ambari过程中,在进行这步——Ambari Server database schema 时,执行了语句ambari-server upgrade 就会出错,关于升级ambari的文档,以后有空了再写。

2准备


注意:
1. 确保集群操作是健壮的,即各项服务是可以正常启动、停止的。
2. 如果是升级到minor version(如hdp2.2->2.3,而非2.3.2->2.3.4),升级hdp集群前,先把ambari升级到对应的版本。强烈建议升级HDP前,先升级ambari。见图1-1。本文档没有升级amabri。
3. 确保所有服务处在running状态;
4. 服务检查,对service action菜单里的选项试试,确保他们能够正常执行;
5. 清除所有警告;
6. 时间服务启动、停止;
7. 下载必要的包,见表2-1,使用本地库的话,见说明;
8. 如果你是在升级 到Ambari 2.2, 在performing any Stack upgrade之前,必须确保Ranger db root password是非空的。给Ranger db root设置一个密码,然后在Ambari Web 上设置Ranger db root password设为这个值. 然后,在Ambari Web重启Ranger Admin。
9. 备份数据库,ambari,Hive metastore, ranger 和oozie。
10. 确保/usr/hdp/下有>2.5G空间;
11. 提前下载好软件包. 设好本地库。
12. 确保时间点数据库备份,包括Ambari, Hive Metastore, Ranger and Oozie等。


2.1 检查service action 的start 、stop、run service check


2.2启动所有服务并清除警告


2.3 保证没有maintenance状态的服务


2.4 时间服务ntpd启动、停止

在三台机器上,都执行:

service ntpd status
service ntpd stop
service ntpd start

2.5备份数据库

[root@master ~]#mysqldump -uroot -p --all-databases > /root/backupforhdp/all20160117.sql

2.6本地库配置


2.6.1 下载需要的包

提前下好HDP-2.3.4.0-centos6-rpm.tar.gz 和HDP-UTILS-1.1.0.20-centos6.tar.gz。

所有库的最新有效地址 ,是在网页上的。下载后的pdf里的地址不能下载。

版本HDP2.3.4.0url
库名FormatURL
HDPRepo Filehttp://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.4.0/hdp.repo
Tarballhttp://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.4.0/HDP-2.3.4.0-centos6-rpm.tar.gz
HDP-UTILSTarballhttp://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz

2.6.2 拷贝hdp的升级包到指定位置

将HDP-2.3.4.0-centos6-rpm.tar.gz
拷到 /var/www/html/hdp/HDP/centos6/2.x/updates
下,解压,将解压后的 HDP/centos6/2.x/updates/2.3.4.0/
整个包拷到/var/www/html/hdp/HDP/centos6/2.x/updates/ 下,如图。

2.6.3 拷贝 hdp-utils包

将之前的hdp-utils包剪切到 /root/backupforhdp/下,解压新的 hdp-utils包。
注意:2.3.4 的 utils包 和2.3.2 以前用的那个的不同之处在于,
①/var/www/html/hdp/HDP-UTILS-1.1.0.20/repos/centos6/lucid 下一个是 lucidworks-hdpsearch-2.3-2.noarch.rpm 一个是lucidworks-hdpsearch-2.3-4.noarch.rpm
②/var/www/html/hdp/HDP-UTILS-1.1.0.20/repos/centos6/mysql-connector-java 下,前者只有一个包,后者多了一个包。
③ /var/www/html/hdp/HDP-UTILS-1.1.0.20/repos/centos6/repodata 下内容不同。

2.6.4 base URL


base url
amabrihttp://master/ambari-2.2.0.0/centos6/2.2.0.0-1310
hdphttp://master/hdp/HDP/centos6/2.x/updates/2.3.4.0
hdp-utileshttp://master/hdp/HDP-UTILS-1.1.0.20/repos/centos6

2.6.5 对配置多个库的集群要执行

(这是参考的”设置本地库”)因为本集群,机器上 配置了多个库,要在所有节点上部署下列,对Linux6系统,

yum install yum-plugin-priorities

然后,

vi /etc/yum/pluginconf.d/priorities.conf

将其内容做如下修改:

[main]
enabled=1
gpgcheck=0

3准备升级


强烈建议做如下数据库的备份:
• Ambari database
• Hive Metastore database
• Oozie Server database
• Ranger Admin database
• Ranger Audit database

我们在 2.5 已经备份了。

4升级——Manual Maintenance Upgrade


4.1 注册新版本

在这之前,先把所有机器上的HDP.repo 和HDP-UTILS.repo 删了。
在三台机器上,先备份到 /root/backupforhdp,再删除原来的repo:

cp /etc/yum.repos.d/HDP.repo /root/backupforhdp/
cp /etc/yum.repos.d/HDP-UTILS.repo /root/backupforhdp/
rm /etc/yum.repos.d/HDP.repo
rm /etc/yum.repos.d/HDP-UTILS.repo

登录amabri,在ambari web 页面,导航栏里 Admin->Stack and Versions,按tab选项卡,选versions,出现如图,单击右上角 +Register Version

这里写图片描述

这里写图片描述

根据你的系统,选择对应的系统、填入base url.
这里写图片描述
该图片的URL就是我们前边的 base url 。

4.2 安装新版本


4.2.1 在集群上安装包

这里写图片描述

这里写图片描述

这里写图片描述
Install packages 这步等待时间较长,10-20分钟。完成后,如图,注意:不要点 perform。

4.2.2 在三台机器上安装完后,出现:

这里写图片描述
记住—— 2.3.4.0-3485

4.2.3 选定HDP版本

在ambari web页面,Stop all services 。
然后,在三台机器上执行,hdp-select set all {repository-version},其中{repository-version}就是刚刚记住的 2.3.4.0-3485。

hdp-select set all 2.3.4.0-3485

4.2.4 首先启动 Zookeeper

Services > Zookeeper, 在Service Actions 菜单 ,选择 Restart All。
然后,一个一个地,重启其他已安装服务。
对于 client-only services, 比如像Tez, Pig, or Sqoop, 从service action选择 Refresh Configs。
重启的过程中,三台机器就已经在 upgrading 状态了。

4.2.5 让集群在目标版本上运行


  1. 如果你的集群中包括Ranger,而且是在HDP2.3下运行,必须做额外的手动操作, 详情见 ,完成了ranger的手动操作后,再回到这部分完成进程。
  2. 确认所有服务正常启动后,去运行 Ambari Server的机器上,执行以下命令来 完成升级,ambari-server set-current –cluster-name=CLUSTERNAMEversiondisplayname= VERSION_NAME,其中CLUSTERNAME, VERSION_NAME 是HDP版本号,如HDP-2.3.4.0。

ambari-server set-current --cluster-name=BigData --version-display-name=HDP-2.3.4.0

结果如图,输入ambari 的登录用户及密码,
这里写图片描述

但是出错了,
这里写图片描述
原因是slave1还没有完成升级,是 Upgrading 状态。
但是其他两台机器已经升级完成,如图,
这里写图片描述
这里写图片描述
这里写图片描述

如果 ambari-server set-current 命令不好用,就重启ambari server ,等待ambari agent重新注册,再尝试。


问题

可以看到如图,Upgrade In Process,现在只能等待 slave1完成升级,由Upgrading 变成Upgraded。但是等了一个晚上都没完成。
查看ambari web页面,没有任何正在进行中的状态。
表示很无奈,也不知道怎么回事。
哪位大侠能帮忙看看呢?

升级HDP,由HDP2.2.x 到HDP2.3.m,如 HDP2.2.9 到 HDP2.3.4, 这是minor upgrade,由HDP2.3.x 升级到HDP2.3.y ,如本文的HDP2.3.2 到HDP2.3.4,是maintenance upgrade。


5总结

我总结了有6方法。对这六种方法我都试过,文档已写出来,暂时没有时间整理上来。

  1. 先升级ambari到2.2,通过rolling方法升级HDP2.3.4
  2. 先升级ambari到2.2,通过express方法升级到HDP2.3.4
  3. 不升级ambari,保持在ambari2.1.2,通过rolling方法升级到HDP2.3.4
  4. 不升级ambari,保持在ambari2.1.2,通过express方法方法升级到HDP2.3.4
  5. 不升级ambari,保持在ambari2.1.2,通过rolling maintenance 方法升级到HDP2.3.4
  6. 不升级ambari,保持在ambari2.1.2,通过manual maintenance 方法升级到HDP2.3.4

前四种方法参考的是 HDP2.3.4的文档——Ambari Upgrade Guide
后两种方法参考的是 HDP2.3.2的文档——Ambari Upgrade Guide
本人可能经验不足,希望前辈多多指教!基于实际操作过程中,最后遇到的问题,slave1 总是处于upgrading状态。希望大家能够多出出主意。

另,如有转载,请标明出处,谢谢。


推荐阅读
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 我有一个从C项目编译的.o文件,该文件引用了名为init_static_pool ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 短视频app源码,Android开发底部滑出菜单首先依赖三方库implementationandroidx.appcompat:appcompat:1.2.0im ... [详细]
  • PBO(PixelBufferObject),将像素数据存储在显存中。优点:1、快速的像素数据传递,它采用了一种叫DMA(DirectM ... [详细]
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • This feature automatically validates new regions using the AWS SDK, ensuring compatibility and accuracy. ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
author-avatar
tengfei2008
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有