概要描述
centos7.2的操作系统,安装manager8.1.0版本之后,在安装guardian的时候报错,如果是3.1.X版本的guardian,会在生成keytab步骤报错,如果是3.2.X版本的guardian,会在设置租户步骤报错,报错内容都是一样的:The Task run failed: java.lang.RuntimeException: io.transwarp.guardian.federation.client.FederationClientException: Failed to process request result. Caused by: io.transwarp.guardian.federation.client.FederationClientException: Failed to process request result. Caused by: io.transwarp.guardian.ha.httpclient.FailoverException Suppressed: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
详细说明
该问题一般是由于manager启动的时候使用的jdk版本太低导致的,需要使用jdk1.8.0_171以上的版本才可以,可以参考如下步骤解决该问题。
-
通过manager日志
/var/log/transwarp-manager/master/transwarp-manager.log
查看启动时使用的jdk版本
启动的时候有类似日志:2021-12-13 11:20:27,921 INFO [main] i.transwarp.manager.master.ManagerMaster: Starting ManagerMaster using Java 1.8.0_65 on tdh01 with PID 724359 (/usr/lib/transwarp-manager/master/lib/transwarp-manager-master-8.1.0.jar started by root in /)
-
一般manager启动的时候使用的是服务器环境变量中配置的java直接启动的,所以需要先确保环境变量中已经配置了高版本的java
可以使用下面的命令来确定环境变量已经配置了高版本的java。java -version command -v java
-
如果环境变量已经是高版本的java,但是manager日志中启动进程的时候不是使用高版本jdk,按下面方式检查。
- 确定
/usr/bin/java
指向了哪个版本的jdk,如下所示就是指向了低版本的jdk;
- 使用 alternatives 命令修改java版本,在下面命令返回的交互框中输入需要指定的java版本,如本案例输入 3 表示使用 1.8.0_191的jdk。
alternatives --config java
- 确定
-
重启manager,可以在日志中看到已经使用了1.8.0_191的jdk。
systemctl restart transwarp-manager
-
重新登录manager,在【操作】中找到 【初始化guardian】失败的步骤,重试即可。