Я новичок в Cassandra, и я пытаюсь создать простой кластер из двух узлов на двух тестовых экземплярах ec2 ubuntu. но репликация не работает, nodetool ring не показывает оба экземпляра. Что я могу делать неправильно? Я использую версию cassandra 2.0.11.Настройка 2 узла (экземпляры ec2 ubuntu) Cassandra cluster
вот что мой конфиг как на обеих машинах:
listen_address: <private_ip>
rpc_address: <private_ip>
broadcast_address: <public_ip>
seeds: <private_ip_of_other_machine>
endpoint_snitch: Ec2Snitch
Я настроил группу безопасности EC2, чтобы разрешить весь трафик на всех портах между этими экземплярами. Что я здесь делаю неправильно? При необходимости я могу предоставить журналы cassandra. Спасибо.
EDIT: ошибка я получаю в настоящее время заключается в следующем:
java.lang.RuntimeException: Unable to gossip with any seeds
at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1340)
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:543)
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:766)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:693)
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:585)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:300)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:516)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:625)
ERROR 15:08:03 Exception encountered during startup
java.lang.RuntimeException: Unable to gossip with any seeds
at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1340) ~[apache-cassandra-2.2.5.jar:2.2.5]
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:543) ~[apache-cassandra-2.2.5.jar:2.2.5]
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:766) ~[apache-cassandra-2.2.5.jar:2.2.5]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:693) ~[apache-cassandra-2.2.5.jar:2.2.5]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:585) ~[apache-cassandra-2.2.5.jar:2.2.5]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:300) [apache-cassandra-2.2.5.jar:2.2.5]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:516) [apache-cassandra-2.2.5.jar:2.2.5]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:625) [apache-cassandra-2.2.5.jar:2.2.5]
WARN 15:08:03 No local state or state is in silent shutdown, not announcing shutdown
Итак, какова должна быть ценность семян в обеих машинах? В настоящее время он зависает в режиме «Handshaking version with/» перед тем, как дать исключение «Невозможно сплетничать с любыми семенами». –
anshulv
вы можете использовать частный ip для node1. Список семян: список должен быть точно таким же на обоих узлах в файле cassandra.yaml. Запустите семенной узел 1-й и 2 минуты позже запустите другой узел. Если они все равно не будут говорить, остановите cassandra на обоих узлах и удалите содержимое файлов commitlog и данных. Это приведет к эффективному сбросу базы данных. – LHWizard
Хорошо спасибо. Я использовал двоичный файл с сайта datastax, я попробовал с двоичным файлом с сайта cassandra.apache и более новой версии, и теперь он работает. Я использую частный IP для значения семян в node1 и private IP узла1 в семенах для узла2. еще раз спасибо. – anshulv