Несоответствие имени кластера Кассандре - PullRequest
2 голосов
/ 25 мая 2011

Я пытаюсь добавить один узел в уже существующий кластер с именем ClusterA. До начальной загрузки этого узла он работал под управлением кластера cassandra с одним узлом под названием «Test» с более старой версией 0.7.4. ClusterA работает на 0.7.5, и я также обновил узел, добавив его к 0.7.5. Я правильно настроил yaml, но когда я запускаю Cassandra, я получаю спам со следующим:

INFO 20:04:24,262 Logging initialized
 INFO 20:04:24,275 Heap size: 5156896768/5156896768
 INFO 20:04:24,276 JNA not found. Native methods will be disabled.
 INFO 20:04:24,284 Loading settings from file:/usr/local/bin/apache-cassandra-0.7.5/conf/cassandra.yaml
 INFO 20:04:24,380 DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap
 INFO 20:04:24,511 Creating new commitlog segment /var/lib/cassandra/commitlog/CommitLog-1306267464511.log
 INFO 20:04:24,525 Couldn't detect any schema definitions in local storage.
 INFO 20:04:24,525 Found table data in data directories. Consider using JMX to call org.apache.cassandra.service.StorageService.loadSchemaFromYaml().
 INFO 20:04:24,535 No commitlog files found; skipping replay
 INFO 20:04:24,553 Upgrading to 0.7. Purging hints if there are any. Old hints will be snapshotted.
 INFO 20:04:24,556 Cassandra version: 0.7.5
 INFO 20:04:24,556 Thrift API version: 19.4.0
 INFO 20:04:24,556 Loading persisted ring state
 INFO 20:04:24,558 Starting up server gossip
 INFO 20:04:24,588 Enqueuing flush of Memtable-LocationInfo@1048095360(233 bytes, 4 operations)
 INFO 20:04:24,589 Writing Memtable-LocationInfo@1048095360(233 bytes, 4 operations)
 INFO 20:04:24,794 Completed flushing /var/lib/cassandra/data/system/LocationInfo-f-1-Data.db (341 bytes)
 INFO 20:04:24,822 Joining: getting load information
 INFO 20:04:24,823 Sleeping 90000 ms to wait for load information...
 WARN 20:04:24,885 ClusterName mismatch from /10.44.2.58 Test !=ClusterA
 WARN 20:04:24,886 ClusterName mismatch from /10.44.2.58 Test !=ClusterA
 WARN 20:04:24,886 ClusterName mismatch from /10.44.2.58 Test !=ClusterA
 WARN 20:04:24,886 ClusterName mismatch from /10.44.2.58 Test !=ClusterA
 WARN 20:04:24,887 ClusterName mismatch from /10.44.2.58 Test !=ClusterA

Этот IP не существует нигде в новом yaml. Это старая конфигурация, которую я пытался реализовать некоторое время назад, но я не пытаюсь кластеризоваться с этим ip вообще. Я попытался удалить все хранилище, файлы БД и старые конфиги, но он все равно обнаруживает старый начальный IP-адрес.

Я нахожу странным, что это регистрируется, когда я подтверждаю, что каталог данных пуст.

Найдены данные таблиц в каталогах данных ...

Может кто-нибудь сказать мне, как это все еще происходит во время запуска? Что мне нужно изменить / удалить / удалить, чтобы этот IP пропал?

Спасибо.

Ответы [ 2 ]

1 голос
/ 25 мая 2011

См. http://wiki.apache.org/cassandra/FAQ#clustername_mismatch, в котором говорится:

"Для предотвращения ошибок оператора, Кассандра хранит имя кластера в его Системная таблица. Если вам нужно переименовать кластер по какой-то причине, это безопасно удалить system / LocationInfo * после заставляя уплотнение на всех ColumnFamilies (со старым кластером имя), если вы указали токен в файле конфигурации, или если вы не заботится о сохранении узла токен (например, в одном узле кластеры.) "

0 голосов
/ 23 августа 2011

Попробуйте использовать cassandra nodetool, чтобы отключить сплетни к этому (нежелательному) узлу.

  1. Перейдите в каталог cassandra / bin
  2. Скажите "nodetool -h ip_creating_issue disablegossip"

попробуйте использовать другие параметры nodetool, такие как "списание"

отключить сплетни у меня нормально работало.

...