2015-06-18 72 views
1

基本上我試圖運行一個簡單的雙節點虛擬卡桑德拉集羣進行實驗。我正在設置它,所以我需要做的就是運行vagrant up,並啓動cassandra並運行。無法在我的流浪虛擬卡桑德拉集羣上運行nodetool

我已經設法讓實際的集羣工作(我知道這是因爲在一個節點中,我創建了一個keyspace和table,並在其中插入了一個值,我可以從另一個節點訪問它),但是我無法似乎讓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,以便每個節點都使用唯一的端口)

回答

0

好了我想出了需要修復以獲取nodetool的工作。

首先,您根本不需要修改jmx端口設置。您也不需要將其作爲forwarded_port公開。

現在如何真正得到它的工作:

在cassandra-env.sh有被註釋掉一條線,說:

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

取消註釋該行,並把無論是主機名或您希望nodetool連接的節點的ip或要連接的節點的ip。就那麼簡單。

0

對於仍然有問題需要使用Ubuntu運行在流浪者上的Cassandra的人,我想分享我的shell腳本,它安裝了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