Многоузловая установка cassandra на машине с одним окном

Я пытаюсь настроить кластер Cassandra с 3 узлами на одной машине Windows. Это только для целей тестирования.

Шаг 1. Я изменил файл hosts, как показано ниже: 127.0.0.1 node1 127.0.0.1 node2 127.0.0.1 node3

Шаг 2 установил Datastax Cassandra на C:\Cassandra (это узел 1) C:\Cassandra\node2 (узел 2) C:\Cassandra\node3 (узел 3)

Шаг 3 Изменен файл Cassandra.yaml для всех 3 узлов имя_кластера: DevCluster.

Node1: -seed: исходный токен node1: 0 listen_address: node1 rpc_address: node1

Node2: -seed: исходный токен node1: сгенерированный вручную номер listen_address: node2 rpc_address: node2

Node3: -seed: исходный токен node1: сгенерированный вручную номер listen_address: node3 rpc_address: node3

Мне удалось запустить файл Cassandra.bat для запуска службы, но проблема в том, что в любой момент времени я могу запустить только одну службу (любой узел), другая служба закрывается с сообщением об ошибке.

ERROR [NonPeriodicTasks:1] 2014-04-08 08:59:09,861 StorageService.java (line 364) Stopping gossiper
  WARN [NonPeriodicTasks:1] 2014-04-08 08:59:09,861 StorageService.java (line 278) Stopping gossip by operator request
  INFO [CompactionExecutor:4] 2014-04-08 08:59:09,861 CompactionTask.java (line 275) Compacted 4 sstables to [C:\Cassandra\data\data\system\schema_keyspaces\system-schema_keyspaces-jb-20,].  651 bytes to 260 (~39% of original) in 706ms = 0.000351MB/s.  6 total partitions merged to 3.  Partition merge counts were {1:2, 4:1, }
 ERROR [NonPeriodicTasks:1] 2014-04-08 08:59:09,861 CassandraDaemon.java (line 196) Exception in thread Thread[NonPeriodicTasks:1,5,main]

ERROR [main] 2014-04-08 08:59:10,220 CassandraDaemon.java (line 357) Fatal configuration error
 org.apache.cassandra.exceptions.ConfigurationException: node1/127.0.0.1:7000 is in use by another process.  Change listen_address:storage_port in cassandra.yaml to values that do not conflict with other services
INFO [StorageServiceShutdownHook] 2014-04-08 08:59:10,220 Gossiper.java (line 1251) Announcing shutdown
  INFO [StorageServiceShutdownHook] 2014-04-08 08:59:12,220 MessagingService.java (line 667) Waiting for messaging service to quiesce

ДОПОЛНИТЕЛЬНО на основе сообщений журнала я изменил storage_port, tcp_port и JMX_port на другой номер, чтобы избежать конфликтов портов. Я пытаюсь сформировать кластер... но застрял с этой ошибкой.

Я был бы очень признателен, если бы кто-то мог направить, что я испортил. Спасибо за ваш ответ.


person user2296930    schedule 08.04.2014    source источник


Ответы (1)


См. этот связанный вопрос: Запустите несколько узлов cassandra (a кластер) с той же машины?

В нем есть ссылка на решение для Linux, которое зависит от определения нескольких локальных IP-адресов (например, 127.0.0.N, где N>1). Нечто подобное может быть возможно, если вы можете настроить несколько IP-адресов для одной и той же машины.

Короче говоря, Cassandra в настоящее время ожидает однородных конфигураций портов в кластере, поэтому назначение уникальных номеров портов не приведет к созданию работающего кластера. По этой же причине вы можете запустить только один узел, поскольку псевдонимы вашего хоста (узел 1, узел 2 и т. д.) по-прежнему сопоставляются с одними и теми же IP-адресами и, следовательно, с одним и тем же сетевым интерфейсом, а два процесса не могут привязываться к одному и тому же TCP-порту ( s) на одном и том же интерфейсе одновременно.

person William Price    schedule 26.04.2014