2015-07-09 38 views
2

我想配置卡桑德拉星火连接SSL,但我无法找到如何做到这一点的例子。如何配置Spark和卡桑德拉之间的SSL?

我想配置它是这样的:

SparkConf conf = new SparkConf().setAppName("someApp") 
     .set("spark.cassandra.connection.host", "111.111.111.111") 
     .set("spark.cassandra.connection.ssl.enabled", "true") 
     .set("spark.cassandra.connection.ssl.trustStore.path", "/some/tfile.jks") 
     .set("spark.cassandra.connection.ssl.trustStore.password", "apassword") 
     .set("spark.cassandra.connection.ssl.trustStore.type", "JKS") 
     .set("spark.cassandra.connection.ssl.enabledAlgorithms", "TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA") 
     .set("spark.cassandra.connection.ssl.keyStore.path", "/some/kfile.jks") 
     .set("spark.cassandra.connection.ssl.keyStore.password", "anotherpassword") 
     .set("spark.cassandra.connection.ssl.keyStore.type", "JKS") 
     .set("spark.cassandra.connection.ssl.protocol", "TLS"); 

当我尝试提交火花的工作,我得到这些错误:

Exception in thread "main" com.datastax.spark.connector.util.ConfigCheck$ConnectorConfigurationException: Invalid Config Variables 
Only known spark.cassandra.* variables are allowed when using the Spark Cassandra Connector. 
spark.cassandra.connection.ssl.keyStore.password is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.enabled is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.protocol is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.keyStore.type is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.trustStore.path is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.enabledAlgorithms is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.keyStore.path is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.trustStore.password is not a valid Spark Cassandra Connector variable. 
No likely matches found. 
spark.cassandra.connection.ssl.trustStore.type is not a valid Spark Cassandra Connector variable. 
No likely matches found. 

所以我不知道如果这被支持或者我只是使用了错误的属性名称。

我看到这个ticket版本1.2.3的连接器,但我找不到如何使用它的例子,它听起来像它可能不支持密钥库。我正在使用连接器的版本1.4.0-M1。

谁能告诉我如何为星火卡桑德拉连接器上配置SSL的例子吗?谢谢。

回答

2

虽然我没有看到任何keystore配置,我可以看到下面的配置变量,他们工作正常。

注意:我使用的1.5.0-M1版本。不知道您正在使用的版本是否有其他错误。

sparkConf.set("spark.cassandra.connection.ssl.enabled", "true"); 
sparkConf.set("spark.cassandra.connection.ssl.trustStore.password", "password"); 
sparkConf.set("spark.cassandra.connection.ssl.trustStore.path", "jks file path");