Настройка кластера Cassandra - невозможно сплетничать ни с какими семенами

Я пытаюсь настроить кластер виртуальных машин Cassandra с тремя узлами.

Я установил cassandra из пакета datastax на отдельные виртуальные машины, а затем изменил следующее:

  1. Seed - vm1 (задать ip адрес во всех конфигах vm)

  2. Обновлен конфиг с listen_address в качестве IP хоста, добавлен rpc_broadcast_address

  3. Добавлены порты cassandra в правила брандмауэра, чтобы разрешить взаимодействие между vm.

  4. Также пытался подключиться к vms по SSH.

Попробовав все это, я запустил начальный узел cassandra, он работает нормально, и когда я проверяю статус с помощью nodetool, я вижу, что статус узла — UN (Up/Normal). Затем я запускаю cassandra на других узлах кластера. Он не запускается из-за невозможности сплетничать с какой-либо ошибкой семян. Любая помощь будет оценена!

Трассировки стека:

java.lang.RuntimeException: Unable to gossip with any seeds
    at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1334) ~[apache-cassandra-2.1.9.jar:2.1.9]
    at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:540) ~[apache-cassandra-2.1.9.jar:2.1.9]
    at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:783) ~[apache-cassandra-2.1.9.jar:2.1.9]
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:720) ~[apache-cassandra-2.1.9.jar:2.1.9]
    at org.apache.cassandra.service.StorageService.initServer(StorageService.java:611) ~[apache-cassandra-2.1.9.jar:2.1.9]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378) [apache-cassandra-2.1.9.jar:2.1.9]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:537) [apache-cassandra-2.1.9.jar:2.1.9]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:626) [apache-cassandra-2.1.9.jar:2.1.9]

Спасибо!


person user3421442    schedule 24.09.2015    source источник
comment
Я добавил следующие строки в файл /etc/sysconfig/iptables, а также сбросил/перезапустил службу iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 7000 -j ПРИНЯТЬ -A INPUT -p tcp -m tcp --dport 7199 -j ACCEPT -A INPUT -p tcp -m tcp --dport 9160 -j ACCEPT   -  person user3421442    schedule 24.09.2015


Ответы (1)


Хорошо, потратив на это день, нашел проблему. Это действительно была проблема с брандмауэром. В дополнение к вводу правил в iptables убедитесь, что правила ACCEPT появляются перед правилами REJECT -> порядок имеет значение. После смены порядка и перезапуска службы iptables и cassandra заработало, ноды смогли посплетничать с сидом.

person user3421442    schedule 24.09.2015