2016-03-07 4 views
1

Я пытаюсь настроить кластер Cassandra multinode на CentOS 7 с OpenJDK.Проблема с установкой многоузлового кластера Cassandra

У меня 2 Узлов:

  • node1 10.99.189.49
  • node2 10.99.189.50

Я сделал следующие вещи до сих пор:

  1. Скачал архив с Кассандра с сайта PlanetCassandra
  2. Извлеченные это в папке «Документы».
  3. Создал все необходимые каталоги (data/saved_cache, data/commitlog, data/data), как указано в файле YAML.

И я сделал 3 изменения в моей конф файле/cassandra.yaml следующим образом:

На узле 10.99.189.49:

seeds: "10.99.189.49" 
listen_address: 10.99.189.49 
rpc_address: 10.99.189.49 

На узле 10.99.189.50:

seeds: "10.99.189.49" 
listen_address: 10.99.189.50 
rpc_address: 10.99.189.50 

Теперь я запускаю cassandra на узле 10.99.189.49 , а затем я запускаю cassandra на другом узле.

Cassandra начинает работать нормально на обоих узлах НО когда я делаю:

bin/nodetool status 

Я вижу только один узел в ней.

Может ли кто-нибудь указать, что я делаю неправильно или что-то не хватает?

+1

Увидели ли какие-либо доказательства в журналах, что узлы разговаривают друг с другом? или, Есть ли очевидные ошибки в журналах? – mikea

+0

Также убедитесь, что 'cluster_name' - то же самое. – Aaron

+0

@Aaron Да имя_кластера такое же. – Akki

ответ

1

Так что я начал добавлять подсказки в комментариях, и мой 3-й раз вокруг я думал начать складывать их все вместе в реальном ответе.

DataStax действительно неплохо документирует, как это должно работать. Убедитесь, что вы прошли через эти документы (в частности, первый), и что вы следуете все шаги:

В дополнение ко всему, вы упомянули выше, убедитесь, что cluster_name одинаково на каждом узле.

Мне легче сделать эту работу с помощью GossipingPropertyFileSnitch. Установите это в вашей кассе. .YAML на каждом узле:

endpoint_snitch: GossipingPropertyFileSnitch 

Затем убедитесь, что каждый из ваших узлов с указанием же центра обработки данных по умолчанию в cassandra-rackdc.properties файл:

dc=DC1 

Получить свой первый узел (.49) вверх и вниз. Подтвердите это с помощью nodetool status.

Также убедитесь, что у вас есть opened the necessary ports in your firewall. От .49, попробуйте telnet, направляясь к другому узлу на портах, которые требуется Cassandra. Я рекомендую 7000, так как это порт для межузловой связи без SSL.

telnet 10.99.189.50 7000 

После того, как вы будете уверены, что все, что работает, и все настроено правильно, то довести до .50. Я помню, что читал, что вы должны подождать не менее 2 минут, прежде чем поднимать другой узел, так что сделайте это, чтобы быть в безопасности. Хвост журналов, чтобы убедиться, что рукопожатия с другим узлом, или увидеть какие-либо ошибки:

tail -f /var/log/cassandra/system.log 

Примечание: Ваше местоположение может отличаться. Я предполагаю, что вы используете 2.2. Если вы используете другую версию Cassandra, укажите ее.

Надеюсь, это поможет!

0

На обоих использования узла

seeds: "10.99.189.49,10.99.189.50" 

, а также перезапустить оба узла, Кассандру

+1

, но я не хочу, чтобы другой узел был семенем , так почему я должен использовать это? Не могли бы вы сообщить мне причину? – Akki

Смежные вопросы