Namenode与serverkey生成原理

  无法启动, 服务异常
内容纲要

概要说明

TDH集群的LICENSE跟serverkey是一一对应的,serverkey跟namenode节点密切相关,一旦serverkey有变化,启动namenode角色会报错提示:(namenode的log)
Cannot start namenode because current license does notcontain the serverkey of this node!

详细说明


为了便于说明有几个名词定义一下:
定义1:集群一般来说有两个namenode A和B,A的serverkey为a,B的serverkey为b
定义2:serverkey由a和b组合,用逗号分隔。即可能组合:a,b或者b,a
定义3:以下步骤中,比较一致的时候,默认不考虑排序先后,即A和B返回的分别为a,b即使正确的。

操作步骤


1)确定namenode节点的正确serverkey;
TDH4.0-4.3.4获取serverkey命令:

java -cp /usr/lib/hadoop/hadoop-common-2.5.2-transwarp.jar org.apache.hadoop.util.transwarp.srvlic.srvgen.ServerKeyGenerator

TDH4.3.5及以后:

java -cp /usr/lib/hadoop/lib/sk-0.0.1.jar io.transwarp.srvgen.ServerKeyGenerator

PS: TDH5.0之后集群需要在namenode的pod里执行

两个namenode节点返回的结果a和b用逗号分隔组成申请license时需要的serverkey(a,b)


2)比较返回结果和申请license时所用的serverkey是否一致;如果不一致请继续往下看文档(一般来说肯定是不一致,不然不会报错了)

3)比较管理页面显示的serverkey和返回结果是否一致;如果不一致请继续往下看文档


4)管理页面获取serverkey的命令:

该命令在namenode节点上执行,只适用于TDH4.0–4.3.4

java -cp /usr/lib/transwarp-manager/common/lib/hadoop-common-2.5.2-transwarp.jar org.apache.hadoop.util.transwarp.srvlic.srvgen.ServerKeyGenerator
java -cp /usr/lib/transwarp-manager/agent/lib/hadoop-common-2.5.2-transwarp.jar org.apache.hadoop.util.transwarp.srvlic.srvgen.ServerKeyGenerator

TDH4.3.5只有一个获取serverkey的命令(参考步骤1说明)。
TDH 5.0之后的是在namenode节点上执行:

java -cp /usr/lib/transwarp-manager/common/lib/sk-0.0.1.jar io.transwarp.srvgen.ServerKeyGenerator

一般来说这两个命令执行会获得一个结果c,和步骤1的执行结果a,不一致,但是和页面显示的serverkey中的一半一致。
强调:步骤1的结果是正确结果,其他的返回值都是镜花水月,和步骤1的结果一致才是对的!!!


5)对比这三个目录下的hadoop-common包的md5值:
/usr/lib/transwarp-manager/common/lib/hadoop-common-2.5.2-transwarp.jar
/usr/lib/transwarp-manager/agent/lib/hadoop-common-2.5.2-transwarp.jar
/usr/lib/hadoop/hadoop-common-2.5.2-transwarp.jar

不同版本的集群版本号不同,还有可能缺失最后一个。


6)用/usr/lib/hadoop/hadoop-common-*-transwarp.jar这个hadoop-common包替换另外两个目录下的hadoop-common包,替换之前先把原来的包备份一下(所有换包,改配置等操作之前的安全操作,牢记),每个节点都要替换。

7)重启transwarp-manager-agent服务和transwarp-manager服务、许可证服务

8)重新打开管理页面,查看‘管理’-‘许可证’页面显示的serverkey是否和正确结果显示一致(跟步骤一的结果一致)。如果一致,请用新的serverkey 重新申请license。
如果不一致,就要考虑是否曾经迁移过namenode、网卡mac地址是否变化、bond是否改动过等等会导致serverkey变化的可能。

以上步骤基本能解决常见license不包含serverkey的问题。属于标准版。

这篇文章对您有帮助吗?

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

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

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

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