2017-01-05 5 views
0

Взятые изScala фантом ЦАЛ хозяева

http://outworkers.com/blog/post/a-series-on-phantom-part-1-getting-started-with-phantom

Я пытаюсь подключиться к кластеру Кассандры, которая имеет несколько узлов, как это:

object Defaults { 

    val hosts = Seq("Cassnode1.company.com", "Cassnode2.company.com", "Cassnode3.company.com") 

    val Connector = ContactPoints(hosts).keySpace("whatever") 

} 

Если по какой-то причине, один из узлов не существует, я получаю:

Caused by: java.lang.IllegalArgumentException: Cassnode3.company.com: unknown error 

Если я удалю этот узел из h osts Seq все работает нормально.

Я использую фантомную версию dsl «1.28.12», и мне было интересно, является ли это ожидаемым поведением, поскольку я предполагал, что всякий раз, когда один из перечисленных узлов не существует/недоступен, приложение будет использовать оставшиеся.

Есть ли способ проверить подключение к узлам перед передачей списка контактным точкам?

Спасибо!

ответ

1

Существует не вся цель , которая использует только базовые ClusterBuilder, чтобы иметь дело с такими вещами. Вы также можете передать функцию обработки ошибок, чтобы справиться с некоторыми из проблем, так что это может облегчить задачу.

Почувствую себя, что остальные узлы имеют какое-то IP-отображение в вашем /etc/hosts, но вам не хватает одного для Cassnode3.company.com. Помните, что все они должны быть разрешены к IP-адресу, иначе они не подходят для ClusterBuilder.

Я настоятельно рекомендую обновить версию фантома 2.1.3, но в данном конкретном случае виновник почти полностью является вашей локальной установкой dev, для которой требуется только IP-сопоставление для этого третьего URL-адреса.

 Смежные вопросы

  • Нет связанных вопросов^_^