TDH大数据平台的卸载与重装

2021-08-27 16:31:26 浏览数 (1)

一 . 前言

前段时间写过一篇关于TDH 集群的许可证管理机制及TDH集群的卸载与安装d的博文:

TDH 集群的许可证管理机制及TDH集群的卸载与安装

该片博文的核心意思如下:

  1. 星环的tdh大数据平台执行了严格的许可证管理机制,当集群的许可证到期后,集群及集群中的关键服务如hdfs/inceptor等将不能再进行重启,无法正常对外提供服务。所以集群管理员需要提前规划时间,及时向星环官方申请许可证续期。
  2. 不过对于依托最终客户名义,多次续期的开发或测试集群,星环官方对续期申请可能会冷处理不做任何响应。此时,我们可选的一个方案是,将tdh集群卸载后再进行重装。
  3. 如果原集群中还有hdfs/inceptor等数据需要保留,需要通过distcp和mysqldump等工具借助一个第三方集群备份数据,待新集群安装完毕后再从第三方集群的备份数据中恢复数据。

本次我司一个产品部的 TDH 开发集群到期,inceptor 服务无法继续使用。于是产品部找到笔者来协助卸载与重装该集群,并声明原集群中的数据可以删除。笔者按照上述博文中的步骤进行操作,前后历时四个小时左右,新集群就OK了。

在此记录下卸载与重装过程中的一些小问题,供由相同需求的小伙伴们参考。更多细节请参考上述博文。

二. TDH 集群卸载

TDH集群的卸载,按照上述博文进行操作即可。有以下几个细节需要注意:

  • 该卸载脚本执行后,可能会有些没有删除成功的目录或文件,需要根据日志提示手动执行相应的命令进行删除;
  • 该卸载脚本不会删除磁盘上license相关目录和文件,需要执行命令手动删除下license相关目录和文件,否则再次安装TDH集群后,仍会检测并使用旧的 LICENSE 数据,仍会报集群许可证过期错误:
    • mount | grep transwarp/mounts | awk '{print $3}'| xargs umount
    • rm -rf /mnt/disk1/Hadoop
    • rm –rf /hadoop/namenode_dir
    • rm -rf /transwarp/mounts
    • rm –rf /var/manager/zookeeper
    • rm –rf /var/license
    • rm –rf /var/zookeeper1
  • 该卸载脚本 uninstall.sh 可以重复执行;

关于该脚本的说明,也可以查看TDH官方如下博文:http://support.transwarp.cn/t/topic/1633

三. TDH集群卸载后的重装

TDH集群卸载后的重装,参考上述博文即可。有以下几个细节需要注意:

  • 安装过程中,需要正确配置 DNS, NTP, 和可用的rpm repo;
  • 从安装日志中可以看出,安装时在底层使用 yum命令从配置的 rpm repo 库安装了多个服务,一些关键的服务如下:
    • installing : docker-tos-1.0-1.el7
    • Installing : docker-compose-tos-1.0-1.el7
    • Installing : hyperkube-tos-1.0-1.el7
    • Installing : etcd-tos-1.0-1.el7
  • TDH安装完毕后会自动启动 TSO, TOS是星环开发的基于Docker和Kubernetes的云操作系统,用来管理TDH集群;
  • TOS的正常运作,需要依赖 haproxy,通过删除与重装的方式安装 TDH 时,底层的 haproxy 服务很容易出错,造成 TOS 无法正常启动,整个集群也无法正常启动。
  • 笔者在这次卸载与重装过程中,遇到的唯一一个比较耗时间的地方,就是 haproxy 问题的修复,其修复方式是:
    • 卸载并重装haproxy:yum erase/remove -y haproxy && yum install -y haproxy;
    • 手动修改haproxy使用星环的配置文件/etc/tos/conf/haproxy.cfg,而不是默认的/etc/haproxy/haproxy.cfg(需要修改/usr/lib/systemd/system/haproxy.service);
    • 然后执行Systemctl daemon-reload 重新加载最新的harpxy;
    • 然后重启 haproxy: systemctl restart haproxy;

相关截图如下:

tos因haproxy启动失败而启动失败的错误日志

journalctl -u haproxy 查看haproxy的错误日志

haproxy使用的默认配置文件

haproxy使用星环的配置文件

重启后haproxy启动成功

四. haproxy 问题总结

  • tdh的正常运行依赖haproxy的正常运行(Tdh安装时底层会自动安装haproxy);
  • 如果haproxy运行失败,可以采取卸载并重新安装的方式来修复;
  • 可以使用命令 Journalctl –u haproxy 常看haproxy相关日志;
  • HAPROXY 重新安装后,需要确认下底层/usr/lib/systemd/system/haproxy.service使用的配置文件是星环的/etc/tos/conf/haproxy.cfg 而不是默认的/etc/haproxy/haproxy.cfg;
  • haproxy修改底层的配置文件后,需要先执行命令 systemctl daemon-reload 重新加载最新的harpxy,然后再重启 haproxy: systemctl restart haproxy;

yum

0 人点赞