我的信任库密码,例如' 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文件中使用这种类型的密码?
答案 0 :(得分:1)
我相信你使用&#39;&#39; (两个连续的单引号)来转义yaml文件中的单引号。
答案 1 :(得分:0)
用单引号封装整个字符串。然后用另一个单引号转义单引号。 例如:
$routeparams