使用Cassandra连接到Azure Cosmos DB时出现UnknownHostException

时间:2018-10-11 14:33:05

标签: azure cassandra azure-cosmosdb

我遵循Azure门户的官方说明。这是我的

  

config.properties:

cassandra_host="demodemodemo.cassandra.cosmosdb.azure.com"
cassandra_username="demo"
cassandra_password="aHaplLoWhRlysBrtJWiOwB79TkqSU9PjKLu5wDeltLqys5NpR9vmtHCJrTF4ScdY69yNSWUvTUphax8RijydTA=="
cassandra_port=10350
ssl_keystore_file_path=
ssl_keystore_password=

然后它会在此时抛出java.lang.IllegalArgumentException: Failed to add contact pointCaused by: java.net.UnknownHostException: "demodemodemo.cassandra.cosmosdb.azure.com"

[ CassandraUtils class, getSession() method ]

cluster = Cluster.builder()
                    .addContactPoint(cassandraHost)

2 个答案:

答案 0 :(得分:2)

您需要从设置中删除双引号。

如果您的凭据正确,那应该可以。

cassandra_host=demodemodemo.cassandra.cosmosdb.azure.com
cassandra_username=demo
cassandra_password=aHaplLoWhRlysBrtJWiOwB79TkqSU9PjKLu5wDeltLqys5NpR9vmtHCJrTF4ScdY69yNSWUvTUphax8RijydTA==
cassandra_port=10350

默认情况下,用户名与主机的第一部分相同,因此,在您的情况下,demodemodemo除外,除非您进行了更改。

答案 1 :(得分:0)

我有类似的问题。我的公司on prem环境在代理后面。由于我使用的是cassandra,因此无法设置http-proxy(它具有自己的协议)。解决方案可能是使用Azure Private Link。有关如何执行此操作的示例教程,请参见:https://docs.microsoft.com/en-us/azure/cosmos-db/how-to-configure-private-endpoints