【问题标题】:Yaml change not detected,Exception encountered during startup: Invalid yaml: file:/etc/cassandra/cassandra.yaml未检测到 Yaml 更改,启动时遇到异常:Invalid yaml: file:/etc/cassandra/cassandra.yaml
【发布时间】:2018-07-14 11:19:57
【问题描述】:

我更改了 Cassandra 配置文件

cat /etc/cassandra/cassandra.yaml | grep -n 'seed'
416:seed_provider:
423:          # seeds is actually a comma-delimited list of addresses.
425:          - seeds:"84.208.89.132,192.168.0.23,192.168.0.25,192.168.0.28"

还有集群名称

10:cluster_name: 'Petter Cluster'

我很惊讶 system.log 显示的内容

INFO  [main] 2018-01-27 17:20:51,343 YamlConfigurationLoader.java:89 - Configuration location: file:/etc/cassandra/cassandra.yaml
ERROR [main] 2018-01-27 17:20:51,427 CassandraDaemon.java:706 - Exception encountered during startup: Invalid yaml: file:/etc/cassandra/cassandra.yaml
 Error: while parsing a block mapping; expected <block end>, but found FlowEntry;  in 'reader', line 425, column 34:
              - seeds: "192.168.0.13","192.168.0.23","192.168.0.25"," ... 
                                     ^
INFO  [main] 2018-02-03 20:35:48,528 YamlConfigurationLoader.java:89 - Configuration location: file:/etc/cassandra/cassandra.yaml
ERROR [main] 2018-02-03 20:35:48,844 CassandraDaemon.java:706 - Exception encountered during startup: Invalid yaml: file:/etc/cassandra/cassandra.yaml
 Error: null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create property=seed_provider for JavaBean=org.apache.cassandra.config.Config@551bdc27; java.lang.reflect.InvocationTargetException;  in 'reader', line 10, column 1:
    cluster_name: 'Test Cluster'
    ^
INFO  [main] 2018-02-03 20:39:08,311 YamlConfigurationLoader.java:89 - Configuration location: file:/etc/cassandra/cassandra.yaml
ERROR [main] 2018-02-03 20:39:08,647 CassandraDaemon.java:706 - Exception encountered during startup: Invalid yaml: file:/etc/cassandra/cassandra.yaml
 Error: null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create property=seed_provider for JavaBean=org.apache.cassandra.config.Config@551bdc27; java.lang.reflect.InvocationTargetException;  in 'reader', line 10, column 1:
    cluster_name: 'Test Cluster'

如何解决这个问题?更改后如何初始化系统?

【问题讨论】:

  • 你在.yaml文件更改后重启了cassandra吗?
  • 有时您还需要重新启动所有节点。主要用于集群名称更改。
  • @dilsingi 是的,我重新启动了 cassandra。

标签: java cassandra yaml


【解决方案1】:

您似乎遇到了集群名称的问题,如果您愿意更改它,应该在所有节点上进行更改。

以下是更改集群名称的说明: 1.登录cqlsh 2. cqlsh> UPDATE system.local SET cluster_name = 'Petter Cluster' where key='local'; (您需要在要更改集群名称的每个节点上发出此命令。) system.local 仅在本地更改 3.cqlsh>退出; 4. $ nodetool 冲洗系统 5. 将 cassandra.yaml 集群名称编辑为 YOUR_CLUSTER_NAME。 6.重启cassandra。

也请检查此链接: https://surbhinosqldba.wordpress.com/2015/07/23/how-to-rename-modify-cassandra-cluster-name/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-04
    • 2020-02-11
    • 2017-11-25
    • 1970-01-01
    • 2013-10-15
    • 2019-11-12
    • 2019-04-01
    • 2021-02-20
    相关资源
    最近更新 更多