升级Java版本后获取无效的Yaml异常

问题描述

我们更新了Java次要版本和Cassandra版本,如下所示。

较旧的Java版本“ 1.8.0_144” 较新的Java版本“ 1.8.0_261”

Cassandra的旧版本:2.1.16 较新的Cassandra版本:3.11.2

现在我们得到以下例外:

INFO  [main] 2020-08-19 10:55:09,364 YamlConfigurationLoader.java:89 - Configuration 

location: file:/etc/cassandra/default.conf/cassandra.yaml
Exception (org.apache.cassandra.exceptions.ConfigurationException) encountered during startup: Invalid yaml: file:/etc/cassandra/default.conf/cassandra.yaml
 Error: null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=java.lang.reflect.InvocationTargetException;  in 'reader',line 1,column 1:
    cluster_name: VV Cluster

我们没有更改“ cassandra.yaml ”。同一yaml在运行在较早版本上的其他节点上也起作用。

解决方法

有时候,问题不在于YAML。如本Datastax post中的建议,您可以运行诸如cassandra-stress之类的工具实用程序,以绕过解析器。这可能有助于确定失败的真正原因。

有时,YAML异常会吞噬主要问题,并显示为无效的yaml异常。