2016-08-23 2 views
0

im messing around with my two verticles, который я хочу начать в кластерном режиме.Vertx: Почему нет кластеризованной вершины?

Вот старт-методы моих двух verticles:

Первый Verticle:

public static void main(String[] args) { 
    VertxOptions options = new VertxOptions(); 

    options.setClustered(true); 
    options.setClusterManager(new HazelcastClusterManager()); 

    Vertx.clusteredVertx(options, res -> { 
     Vertx vertx = res.result(); 
     vertx.deployVerticle(new WalzenSchnittBlMock()); 

    }); 

} 

Второй Verticle:

public void start() { 
    VertxOptions options = new VertxOptions(); 

    Vertx.clusteredVertx(options, res -> { 
     vertx = res.result(); 
     vertx.deployVerticle(serviceVerticle, this::completeRegister); 
    }); 
} 

Thhis двух verticles находятся на разных машинах, но они не «видеть» друг друга, хотя есть в кластерном режиме .... есть ли какая-то проблема ... я что-то пропустил?

+1

Включили ли вы ведение журнала Hezelcast? Я бы начал оттуда: http://vertx.io/docs/vertx-hazelcast/java/#_enabling_logging –

+1

Я соглашаюсь на включение ведения журнала. Вы также можете проверить правила брандмауэра. Обе машины работают в одной сети? – dbh

ответ

0

Я нашел решение:

У меня есть две машины, и каждый из них имеет четыре networkcards - и VertX, кажется, выбрать неправильную. Поэтому я вынужден установить Ip-адрес, который должен использовать vertx. Результат выглядит так, как где Ipadress является аргументом jar-файла:

VertxOptions options = new VertxOptions(); 

    Config config = new Config(); 
    NetworkConfig networkConfig = config.getNetworkConfig(); 

    networkConfig.getInterfaces().setEnabled(true).addInterface(args[0]); 
    options.setClusterManager(new HazelcastClusterManager(config)); 
    options.setClustered(true); 
    options.setClusterHost(args[0]); 

    Vertx.clusteredVertx(options, res -> { 
     Vertx vertx = res.result(); 
     vertx.deployVerticle(new Receiver()); 

    }); 
Смежные вопросы