cassandra.yaml文件不允许在证书密码中嵌入引号

时间:2016-07-06 16:44:37

标签: cassandra datastax

我的信任库密码,例如' 3mDhxcIRNfmQcd,包含单引号作为其第一个字符。当我在cassandra.yaml文件中输入此密码时,cassandra无法启动。

Exception (org.apache.cassandra.exceptions.ConfigurationException) encountered during startup: Invalid yaml: file:/etc/cassandra/default.conf/cassandra.yaml
org.apache.cassandra.exceptions.ConfigurationException: Invalid yaml: file:/etc/cassandra/default.conf/cassandra.yaml
        at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:118)
        at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:85)
        at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:135)
        at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:119)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:491)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:625)
Caused by: while scanning a quoted scalar
 in 'reader', line 750, column 26:
        truststore_password: '3mDhxcIRNfmQcd
                             ^
found unexpected end of stream
 in 'reader', line 771, column 1:

    ^

如果引号包含在密码中或是密码的尾随字符,则这不是问题。我在cassandra文档中读到,你可以在字符串文字中使用单个引号,方法是使用单引号转义它。这不起作用。有没有办法在cassandra.yaml文件中使用这种类型的密码?

2 个答案:

答案 0 :(得分:1)

我相信你使用&#39;&#39; (两个连续的单引号)来转义yaml文件中的单引号。

答案 1 :(得分:0)

用单引号封装整个字符串。然后用另一个单引号转义单引号。 例如:

$routeparams