Назад | Перейти на главную страницу

Использование внешнего IP-адреса с DataStax Enterprise

Мы находимся в ситуации, когда нам нужно, чтобы узлы Cassandra были доступны с внешнего IP-адреса, но интерфейса с этим IP-адресом нет; трафик на этот IP-адрес передается узлу через NAT. В документации DataStax мы установили listen_address на внутренний IP-адрес, а broadcast_address - на внешний IP. Узлы могут подключаться друг к другу и успешно сплетничать; все хорошо, за исключением наших узлов, включенных для поиска. На этих узлах, когда контейнер Solr активирован, мы получаем:

java.io.IOError: java.net.BindException: Cannot assign requested address
    at com.datastax.bdp.plugin.SolrContainerPlugin.onActivate(SolrContainerPlugin.java:190) ~[dse.jar:4.7.2]
    at com.datastax.bdp.plugin.PluginManager.initialize(PluginManager.java:356) ~[dse.jar:4.7.2]
    at com.datastax.bdp.plugin.PluginManager.activateDirect(PluginManager.java:285) ~[dse.jar:4.7.2]
    at com.datastax.bdp.plugin.PluginManager.activate(PluginManager.java:159) ~[dse.jar:4.7.2]
    at com.datastax.bdp.plugin.PluginManager.preStart(PluginManager.java:85) ~[dse.jar:4.7.2]
    at com.datastax.bdp.server.DseDaemon.preStart(DseDaemon.java:375) ~[dse.jar:4.7.2]
    at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:345) ~[dse.jar:4.7.2]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:537) [cassandra-all-2.1.8.621.jar:2.1.8.621]
    at com.datastax.bdp.DseModule.main(DseModule.java:75) [dse.jar:4.7.2]

Тестирование различных конфигураций, похоже, указывает на то, что Netty пытается прослушивать broadcast_address. Как мы можем настроить его иначе? dse.yaml предоставляет возможность изменить порт, но не хост.

Большое спасибо за вашу помощь.