概要描述
本文档是针对 manager 8.0
及以上版本在替换了许可证之后,重启hdfs时namenode报错:Cannot start namenode because current license does notcontain the serverkey of this node! 问题处理建议。
详细说明
-
在使用该文档排查前请先确认许可证所对应的serverkey本身是没问题的。
-
查看namenode日志报错信息为:
Cannot start namenode because current license does notcontain the serverkey of this node!
-
查看manager的sk包和hdfs镜像中sk包版本是否一致
1)在manager节点查看sk包版本
ll /usr/lib/transwarp-manager/common/lib/sk-*.jar
2)进到任意hdfs journal 的pod内查看sk包版本
ll /usr/lib/hadoop/lib/sk*.jar
3)根据上述两步可以看到manager使用的是 sk-1.0.0jar,hdfs镜像使用的是sk-0.0.1.jar,两个版本是不一致的。
-
在manager节点执行升级脚本,将hdfs 镜像的sk包版本升级为1.0.0
sh /usr/lib/transwarp-manager/master/scripts/serverkey/update_serverkey_version.sh
-
脚本升级成功之后,重启hdfs即可。
补充说明
如果集群中的服务器的架构既有x86也有arm,那么升级sk包版本后,可能会导致arm架构服务器上的角色无法启动,状态为CrashLoopBackOff。如下图所示,部分hdfs datanode pod的状态为CrashLoopBackOff,执行kubectl logs命令查看pod日志时会提示:standard_init_linux.go:228: exec user process caused: exec format error。
解决方法:
在manger页面上重新上传arm版本的TDH产品包。