2015-06-18 4 views
1

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

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

Когда я бегу

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, так что каждый узел использует уникальный порт)

ответ

0

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

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

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

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

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

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

0

Для людей, которые все еще имеют проблемы с тем, чтобы заставить 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 '[email protected]# 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