如何从我的Ubuntu运行3个cassandra节点(实际上是一个集群)?我不想创建3个VMWare / VirtualBox实例,而是配置每个cassandra节点以侦听不同的端口。这可能与一个cassandra安装?
我想到的解决方案是安装3个本地cassandra并独立配置每个cassandra.yaml但实际上我更愿意通过我安装的cassandra配置文件来实现。
我显然只是为了测试目的而需要这样的配置。
答案 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及更高版本,粗略地说,我无法成功地做到这一点。