2016-07-06 86 views
0

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

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文件中使用这种类型的密码?

回答

1

我相信你使用''(两个顺序单引号)在yaml文件中转义单引号。

+0

我试过了,但没有奏效。 –

0

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

keystore_password: 'pas''sword' 
+0

谢谢。用单引号封装整个字符串,并用另一个作品(包括作为密码的第一个字符)转义单引号。 keystore_password:'''密码' –