记一次CDH集群升级事故的解决
本文转载自微信公众号「明哥的IT随笔」,作者IT明哥。转载本文请联系明哥的IT随笔公众号。
01问题现象
某日明哥接到求助,集群运维人员在通过 cloudera manager 的 upgrade cluster 选项 (见下图一),升级 cdh 集群时遇到了问题,卡在了 "Execute command Upgrade Hive Metastore Database Schema on记一 service Hive" 这一步。由于我们的应用系统是基于 Hive 的离线计算作业,hive升级不成功,应用应用无法启动,该问题亟待解决。
"Execute command Upgrade Hive Metastore Database Schema on service Hive" 这一步前的步骤是执行成功的,包括HDFS的升级:
02问题分析
查看cm页面上执行 "Execute command Upgrade次C Hive Metastore Database Schema on service Hive" 这一步时的 stdout 和 stderr 日志,其内容如下(页面日志没来得及截图,以下截图是当时复制出来的页面日志的内容):
stdout.log:
stderr.log:
查看hive metastore database 升级脚本的内容:
可见该升级脚本只是更改了 hive 的 mysql metastore db,更新DH了 hive 库中 DBS 表的结构 (增加了一列 create_time);并更新了 cdh_version表的一条记录。
如此简单的 ddl 语句和 dml 语句会执行失败,很可能的原因是使用的数据库用户名和密码不对或没有更新权限。我们需要验证下使用的用户名和密码是否正确,以及是否有相应的权限。这些连接信息和用户名密码信息是在 cm 中 hive 配置页面指定的:
不幸的是,如上图可见,出于保护敏感信息的需要集群,cm 页面屏蔽了用户配置的 hive metastore db 的用户密码。
(事实上 stdout.log 日志中也告诉了我们连接信息和用户名信息,跟上述配置是一致的:Metastore connection URL 是 jdbc:mysql://node1:3306/hive?useUnicode=true&characterEncoding=UTF-8;Metastore connec升级tion User 是 root。)
所以接下来,我们的思路是,拿到 hive metastore db 需要使用的正确的用户名和密码,并在上述页面配置下,再次重试集群升级步骤。
03如何获取 hive metastore db 的用户名和密码呢?
如何获取 hive metastore db 的用户名和密码呢?
方法一:找集群管理员索取。
该方法是可行的,但由于hive metastore db 的用户名和密码,是在初次搭事故建集群是设置的,集群搭建完毕后正常使用过程中很少会使用到该用户名和密码,日常越久可能集群管理员也会忘记最初的用户名和密码。(集群多了也可能会搞混淆)
方法二:查看配置文件hive-site.xml 获取。
该方法在 hive 的早期版本是可行的,但在1.x 后(不记得具体的版本了。。。),同样出于保护敏感信息的原因,hive-site.xml 中也屏蔽了该信息,如下所示:
方法三:通过 curl 访的解问 cm 提供的特定 restful 接口获取集群配置信息,包括 hive metastore 用户名和密码。
该接口的地址和访问方式是:curl -u cm-user:cm-pwd "http://cm-host:7180/api/v19/cm/deployment",示例如下:
04问题解决
在通过上述方法三,拿到了 hive metastore db 的正确用户名和密码后,在 hive 配置页面配置完毕正确的用户名记一和密码后,再次尝试升级集群(通过在 cm 的 Running Commands 页面,resume 恢复 upgrade cluster 命令即可),集群升级正确执行,直至结束,如下所示:
05HDFS 集群升级后的收尾
做过 hdfs 集群升级的小伙伴,会留意到,通过以上步骤升级完毕集群后,hdfs 集群可以正常对外提供读写服务,但在 hdfs 的 web 页面会有个提示信息 "upgrade in pro次Cgress. not yet finalized",如下所示:
事实上,这是 hdfs 有意为之的升级机制:hdfs 允许用户在集群升级完毕后,再次对集群进行充分的业务测试和验证,确保一切无误后,才来 finalize , 即 commit 整个 update;如果业务验证失败,可以回滚到升级前的版本。"Finalizing upgrade is separate process that should be invokDHed manually after you confirm that data migration went well。"
我们执行命令 hdfs dfsadmin -finalizeUpgrade 进行升级后的 finalize:
再次查看hdfs web ui,提示信息不见了:
06key take-aways
汇总下知识点:
1. hive metastore db 的用户名和密码,可以通过以下命令获得:
curl -u cm-us集群er:cm-pwd "http://cm-host:7180/api/v19/cm/deployment"
2. hdfs 集群升级完毕后,可以执行 hdfs dfsadmin -finalizeUpgrade 最终确认升级,也可以回滚到之前版本。
3. 相关命令如下:
hdfs dfsadmin -finalizeUpgrade
hdfs dfsadmin -rollingUpgrade [ | |]]
hdfs d升级fsadmin -upgrade [query | finalize]
hdfs namenode -upgrade | -rollback | rollingUpgrade
hdfs datanode -rollback | -rollingupgrade rollback
4. 参考链接如下:
https://hadoop.apache.org/docs/stable/hadoop-project-dist/ha事故doop-hdfs/HDFSCommands.html
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html
- ·Facebook推出新闻通讯平台Bulletin
- ·95%PyTorch库都会中招的bug!特斯拉AI总监都没能幸免
- ·亚马逊和苹果正在推动英特尔芯片的转变
- ·标签: 滴滴 滴滴关爱 中国红十字基金会 公益救助
- ·标签: 月之暗面 Kimi K2.5 Code 多模态模型
- ·一文搞懂HBase的基本原理
- ·阿里云2027财年第一季度收入增长45%创新高,利润暴增133%
- ·苹果前 AI 主管吉安南雷亚加入 uspAI
- ·特朗普签署命令投资5000万美元助力儿童癌症人工智能研究
- ·7张图,看懂数据分析如何助力运营
- ·Facebook高管:计划明年推出数字货币Diem和数字钱包Novi
- ·标签: 温氏股份 肉猪养殖 肉鸡养殖 生猪行情
- ·云安全日报201202:思科IOS XR网络互联操作系统发现执行未签名代码漏洞,需要尽快升级
- ·阿里云将于3月29日停止商标代理服务,调整为平台型业务
- ·云安全日报210128:IBM企业资产信息安全保护解决方案发现拒绝服务漏洞,需要尽快升级
- ·Anthropic 与作家和解,人工智能版权争议初步平息!
- ·标签: 字节跳动 Seeduplex 豆包 桃子音色
- ·现代汽车和起亚称其并未与苹果进行无人驾驶电动汽车谈判
- ·有了大数据,真是方便,以前是“杀熟”,现在是“杀富”
- ·英伟达再掷十亿美元,加码 AI 编程新锐 Poolside
- ·标签: Merge Labs OpenAI 脑机接口 萨姆·奥特曼
- ·OpenAI强化Sora 2保护政策,确保艺人声音与肖像权不被侵犯
- ·标签: 舍弗勒 人形机器人 具身智能 精密驱动
- ·Oracle发布基于MySQL HeatWave的MySQL Autopilot
- ·意大利出版商投诉谷歌 AI 概述,呼吁改善新闻可见性
- ·标签: 代拜年帮尽孝 郑州跑腿公司 春节即时服务 代磕头
- ·https://www.rostaing.com/catalogsearch/result/?cat=22&q=谷歌搜索留痕霸屏【tg:seogoogle987】,82m
- ·https://www.localfootdoc.com/?s=谷歌搜索留痕霸屏【tg:seogoogle987】,HXL
- ·https://www.safetv.go.kr/base/search/view?searchWord=谷歌搜索留痕霸屏【tg:seogoogle987】Uau
- ·https://www.wou.edu.my/?s=谷歌搜索留痕霸屏【tg:seogoogle987】,xBk
- ·https://www.seforall.org/search?keywords=谷歌搜索留痕霸屏【tg:seogoogle987】,bej
- ·https://www.teamlab.art/th/?submit=谷歌搜索留痕霸屏【tg:seogoogle987】,JTu
- ·https://www.symatoys.com/search.html?ID=UyMD6aO58bPrJvQAB1I0N69KzJBZeNPC&keyword=谷歌搜索留痕霸屏【tg:seogoogle987】,3mk
- ·https://www.sebson.de/en/search?query=谷歌搜索留痕霸屏【tg:seogoogle987】,MMu
- ·https://www.jusoen.com/addreng.asp?p1=谷歌搜索留痕霸屏【tg:seogoogle987】8Aw
- ·https://www.tumblr.com/tagged/谷歌搜索留痕霸屏【tg:seogoogle987】,ySM
