1

基本上我正在尝试运行一个简单的两节点虚拟 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 以便每个节点使用唯一的端口)

4

2 回答 2

0

好的,我想出了我需要修复什么才能让 nodetool 正常工作。

首先,您根本不需要修改 jmx 端口设置。您也不需要将其公开为 forwarded_port。

现在关于如何真正让它工作:

在 cassandra-env.sh 中有一行被注释掉,上面写着:

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

取消注释此行并输入您希望 nodetool 连接的节点的主机名或 ip 或您要连接到的节点。就那么简单。

于 2015-06-18T18:46:45.463 回答
0

对于使用 Ubuntu 让 Cassandra 在 vagrant 上运行仍有问题的人,我想分享我的 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 '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
于 2016-08-01T20:40:08.533 回答