Cassandra-stress: как установить и настроить его вне кластера cassandra

#cassandra #cassandra-3.0 #cassandra-stress

#cassandra #cassandra-3.0 #cassandra-stress

Вопрос:

Я собираюсь использовать простой кластер cassnadra (3 узла, x.x.x.104-106). Я использую CentOS7, поэтому я использовал репозиторий datastax, Cassandra 3.0. Я читал на форуме, что лучше устанавливать cassandra-stress вне кластера, иначе он потребляет процессор узла.

Не могли бы вы, пожалуйста, помочь мне, как его установить?

Я попытался скопировать cassandra-stress.sh отдельно, но это зависит от некоторых файлов cassandra (вероятно, созданных во время установки).

Поэтому я решил установить всю Cassandra целиком на отдельный сервер, в том же сетевом пространстве. Теперь я затрудняюсь с правильной настройкой, как запустить инструмент cassandra-stress для кластера cassandra.

В cassandra.yaml я настраиваю имя Cassandra, адрес для прослушивания — public_ip, rpc_address — адрес обратной связи, я устанавливаю начальные значения для узлов кластера cassandra (x.x.x.104-106)… но в целом это не имеет смысла настраивать, поскольку я не хочу создавать другой узел в кластере Cassandra.

Не могли бы вы, пожалуйста, помочь мне?

Редактировать: Возможно, использование чего-то подобного может быть правильным способом?

профиль пользователя cassandra-stress =/usr/cassandra/stress-file.операции yaml (вставка = 1, книги = 1) n = 10000 -узел x.x.x.104,x.x.x.105,x.x.x.106 -собственный порт = ? Telnet [cassandra_node_ip_ddress] 7000 работает нормально

Ответ №1:

Если ваш кластер Cassandra запущен с соответствующими открытыми портами (по умолчанию 9042 для клиентов и 7199 для JMX), а каталог Cassandra находится на другом компьютере, тогда вы должны иметь возможность запускать cassandra-stress извне кластера для своего кластера, просто передав -node опцию с IP-адресом одного из узлов в вашем кластере (скажем, x.x.x.104). Например,

 $CASSANDRA_HOME/tools/bin/cassandra-stress write -node x.x.x.104
  

должно сработать. Вы можете увидеть больше опций с

 $CASSANDRA_HOME/tools/bin/cassandra-stress help
  

Комментарии:

1. На самом деле, я попробовал это, я настроил брандмауэр для jmx и других портов на всех кластерах. Как вы можете видеть, я отредактировал сообщение, поскольку эта идея уже возникла у меня в голове, я просто получил несколько странных ошибок. Я должен углубиться в это подробнее. Должен ли я использовать параметры просмотра по умолчанию для Cassandra? Я имею в виду, никаких изменений yaml и т.д. вообще?

Ответ №2:

на каждом узле: в cassandra.yaml установите rpc_address в IP-адрес в cassanda-env.sh установите LOCAL_JMX = no и параметры jmx autenticate= false откройте порт брандмауэра 7199 перезапустите брандмауэр и cassandra

на сервере cassandra-stress:

 cassandra-stress user profile=/usr/cassandra/stress-books.yaml ops 
(insert=1,books=1) 
n=10000 -node 172.16.20.104,172.16.20.105,172.16.20.106 -port native=9042 
thrift=9160 jmx=7199
  

Внимание! Связь JMX не защищена