Один из способов сделать это - указать резервный хост .
url = "jdbc:vertica://00.00.00.2:1111/vertica"
properties = {
"user": "****",
"password": "*****",
"driver": "com.Vertica.jdbc.Driver",
"ConnectionLoadBalance": 1,
"BackupServerNode": "00.00.00.1:1111"
}
При этом будет пробоваться хост, указанный в URL (00.00.00.2:1111
).Если этот хост недоступен, он попытается использовать BackupServerNode.Можно указать несколько узлов сервера резервного копирования, разделенных запятыми.
Приведенное выше решение будет работать только в том случае, если исходный хост недоступен.
Другое решение: если вы хотите выбрать случайный хост, вы можетевыполните эту логику внутри самого Python.
import random
host_list = ["00.00.00.2:1111", "00.00.00.1:1111"]
host = random.choice(hosts) # python2 random syntax, lookup random if using a different version of python
url = "jdbc:vertica://{0}/vertica".format(host)
Примечание: Свойство соединения BackupServerNode
названо так, поскольку оно обычно используется для указания альтернативного узла в той же базе данныхкластера, но если - как и у вас - у вас есть две базы данных с одинаковыми именем пользователя, паролем и т. д., это также будет работать для подключения к отдельному хосту кластера баз данных.