组件无法启动,报错failed to load license

  其他使用报错
内容纲要

概要描述


TDH 组件启动的时候有些角色会覆盖式的修改配置文件,导致其他角色启动时候读取配置文件时读取不到某些数据,进而启动失败。
本案例介绍一种因guardian 服务的 Federation Server启动后,覆盖修改了msl-site.xml,导致和Federation Server在同一个节点的组件角色启动时读取 msl-site.xml 获取license信息失败。

本案例环境:TDH 6.2.0、guardian 3.1.0

详细说明


服务启动需要读取msl-site.xml,进而获取license信息,如果被其他组件修改了msl-site.xml,那么在启动日志会包含以下报错:

2019-11-05 17:02:18,375 ERROR io.transwarp.msl.tos.MSLTLSObserver: ERROR: Get response failed. null Url: [].no protocol: 
2019-11-05 17:02:18,381 ERROR io.transwarp.msl.tos.TLSLicenseKernelLoader: failed to load license because license info is invalid because: null Url: [].no protocol: 
2019-11-05 17:02:18,382 ERROR io.transwarp.msl.tos.MSLTLSObserver: ERROR: Get response failed. null Url: [].no protocol: 
2019-11-05 17:02:18,382 ERROR io.transwarp.license.hbase.ProductionLicense: Can not set up license because java.io.IOException: license info is invalid because: null Url: [].no protocol: 
2019-11-05 17:02:18,382 FATAL org.apache.hadoop.hbase.master.HMaster: Fatal exception during initialization
io.transwarp.license.hbase.LicenseException: License cannot be initialized!
        at io.transwarp.license.hbase.ProductionLicense.(ProductionLicense.java:22)
        at io.transwarp.license.hbase.ProductionLicense.getInstance(ProductionLicense.java:30)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.newLicense(HRegionServer.java:3479)
        at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:915)
        at java.lang.Thread.run(Thread.java:745)

此时检查 /etc/transwarp/conf/msl-site.xml 文件会发现内容已经被篡改了:
具体的原因:Federation Server的boot.sh直接调用了TDC环境的bootstrap.sh,在没有做判断就执行了cond,将msl-site.xml改成了TDC版本。

file

临时解决办法

1、针对启动失败的服务,配置服务;

file

配置服务后,Manager会自动根据当前集群的信息生成一个 msl-site.xml;
配置服务后查看当前正确的 TDH 集群的/etc/transwarp/conf/msl-site.xml 文件内容如下:

file

2、重启服务;

file

永久解决办法


针对guardian-3.1.0版本的Federation Server引起的问题,预计会在Guardian3.1.2版本修复

这篇文章对您有帮助吗?

平均评分 5 / 5. 次数: 1

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。