2016-07-06 57 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:'''密碼' –