Не могу запустить nodetool в моем бродячем виртуальном кластере cassandra

В основном я пытаюсь запустить простой двухузловой виртуальный кластер cassandra для экспериментов. Я пытаюсь настроить его, поэтому все, что мне нужно сделать, это запустить vagrant up и запустить cassandra.

Мне удалось заставить фактический кластер работать (я знаю это, потому что в одном узле я создаю пространство ключей и таблицу и вставляю в него значение, к которому я смог получить доступ с другого узла), но я не могу получить nodetool работать.

Когда я бегу

nodetool -h 192.168.10.11 -p 7000 status

я получаю ошибку

nodetool: Failed to connect to '192.168.10.11:7000' - SocketException: 'Connection reset'.

Причина, по которой я изменил порты, заключается в том, чтобы избежать коллизий портов. (Поэтому я изменил jmx_port на 7000 для одного узла и 7001 для другого, я также изменил rpc_port и native_transport_port, чтобы каждый узел использовал уникальный порт)


person vicg    schedule 18.06.2015    source источник


Ответы (2)


Хорошо, я понял, что мне нужно исправить, чтобы заставить nodetool работать.

Во-первых, вам вообще не нужно изменять настройку порта jmx. Вам также не нужно выставлять его как forwarded_port.

Теперь о том, как на самом деле заставить его работать:

В cassandra-env.sh есть закомментированная строка, в которой говорится:

#JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<hostname>

Раскомментируйте эту строку и введите либо имя хоста, либо IP-адрес узла, с которого вы хотите подключиться к nodetool, или узла, к которому вы хотите подключиться. Просто как тот.

person vicg    schedule 18.06.2015

Для людей, у которых все еще есть проблемы с запуском Cassandra на бродяге с использованием Ubuntu, я хочу поделиться своим скриптом оболочки, который устанавливает Java8 и Cassandra. Может быть, это поможет:

# Update Packages
sudo apt-get update
# sudo apt-get upgrade -y

# Install necassary software
sudo apt-get install software-properties-common python-software-properties debconf-utils curl --assume-yes

# Installing the Oracle Java Virtual Machine
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections
sudo apt-get install oracle-java8-set-default -y 

# Installing Cassandra
curl -L http://debian.datastax.com/debian/repo_key | sudo apt-key add -
echo "deb http://debian.datastax.com/community stable main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
sudo apt-get update
sudo apt-get install dsc22=2.2.7-1 cassandra=2.2.7 -y
sudo apt-get install cassandra-tools=2.2.7 -y
sudo chmod 750 /var/run/cassandra
# Configure hostname or ip for nodetool
sudo sed -i 's@# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"@JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"@' /etc/cassandra/cassandra-env.sh
sleep 10

# Status Cassandra And Oracle Java Version
java -version
sudo service cassandra status
sudo nodetool status
person Michael Hegner    schedule 01.08.2016