从同一台机器运行多个cassandra节点(一个集群)?

时间:2013-01-23 11:39:42

标签: cassandra cluster-computing

如何从我的Ubuntu运行3个cassandra节点(实际上是一个集群)?我不想创建3个VMWare / VirtualBox实例,而是配置每个cassandra节点以侦听不同的端口。这可能与一个cassandra安装?

我想到的解决方案是安装3个本地cassandra并独立配置每个cassandra.yaml但实际上我更愿意通过我安装的cassandra配置文件来实现。

我显然只是为了测试目的而需要这样的配置。

3 个答案:

答案 0 :(得分:10)

在github https://github.com/pcmanus/ccm

上查看此Cassandra Cluster Manager

(链接到配置多个Cassandras以在不同的localhost接口127.0.0.1,127.0.0.2,127.0.0.3上侦听的脚本)

答案 1 :(得分:5)

我想如果您有3个程序副本,3个不同的配置,每个端口都不同,并且您必须从可能的连接套接字中排除这些端口。

编辑我不理解downvotes。这实际上是最简单的方法,拥有一组二进制文件并为每个节点创建一组conf和yaml文件,然后为每个所需的本地节点使用一个启动脚本。

示例:机器1在7199上,机器2在7200上,机器3在7201上,依此类推。 使用别名为localhost IP,127.0.0.2,.3,.4等

Nodetool环将按预期工作,并显示一个群集,只有所有群集都具有相同的根IP。

答案 2 :(得分:0)

我似乎在JMX库上出现端口冲突问题?jamm可能吗?之前,似乎没有通过yaml配置,但是启动.sh脚本可能会禁用它,这似乎是在启动脚本中构建的JVM选项。

还有一个技巧是为服务器实例使用不同的环回地址,以便它们可以与相同的端口共存,但是遇到了阻塞问题。那是来自Packt cassandra高性能食谱。

但截至1.2.5及更高版本,粗略地说,我无法成功地做到这一点。