目录
一.背景:Tdh集群的许可证管理机制
星环的tdh执行了严格的许可证管理,当我们的tdh集群将要到期时,需要提前规划向星环官方申请许可证续期,否则一旦集群许可证过期,集群及集群中的关键服务如hdfs/inceptor等将不能再进行重启,无法正常提供服务。
不过对于依托最终客户名义,多次续期的开发或测试集群,星环官方对续期申请可能会冷处理不做任何响应。
此时,我们可选的一个方案是,将tdh集群卸载后再进行重装。
当然如果原集群中还有hdfs/inceptor数据需要保存,需要通过distcp和mysqldump等工具借助一个第三方集群备份数据,待新集群安装完毕后再从第三方集群的备份数据中恢复数据。
二.Tdh集群的许可证管理机制的具体技术细节
Tdh集群的许可证管理机制,其背后技术细节如下:
-
当用户向星环官方申请许可证时需要提供集群的Server Key, 该Server Key是安装tdh集群时tdh通过集群中重要角色比如nameode节点的mac地址自动计算生成的,代表着用户的tdh集群, 是全局唯一的;
-
用户申请获得的许可证,一般星环给的有效期是2个月或3个月(用户原有license到期后,向星环申请许可证展期时会获得一个新的license Key),用户在申请获得该许可证后需要将申请获得的license key填写到tdh集群的“许可证”服务中,“许可证”服务在后台会将该license key及过期时间保存到数据库中;
-
后续集群和集群中关键服务如hdfs/inceptor等,在启动时都会首先自动校验server Key是否有变动(校验的方式是用启动时新计算出来的server Key跟后台数据库中存储的server Key进行对比, 如果用户迁移了namenode角色到其它服务器节点,此时由于namenode节点的mac地址变化了,计算获得的server Key也就变化了,所以此时namenode 启动时会因server key自检失败从而启动失败,星环就是通过这种方式限制用户tdh集群的迁移和复制的),license key是否已过期(用系统当前时间跟后台数据库中存储的licensekey的过期时间进行对比),如果两者有一个是的话,就会阻止相关服务进程的启动,从而达到监控和限制用户tdh集群的使用和license的续期;
-
全新安装的tdh集群,未向星环