#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 не защищена