如何从我的 Ubuntu 运行 3 个 cassandra 节点(实际上是一个集群)?我不想创建 3 个 VMWare/VirtualBox 实例,而是将每个 cassandra 节点配置为侦听不同的端口。一个 cassandra 安装有可能吗?
我想到的一个解决方案是安装 3 个本地 cassandra 并独立配置每个 cassandra.yaml,但实际上我更希望通过安装的 cassandra 配置文件来实现这一点。
显然,我需要这样的配置仅用于测试目的。
如何从我的 Ubuntu 运行 3 个 cassandra 节点(实际上是一个集群)?我不想创建 3 个 VMWare/VirtualBox 实例,而是将每个 cassandra 节点配置为侦听不同的端口。一个 cassandra 安装有可能吗?
我想到的一个解决方案是安装 3 个本地 cassandra 并独立配置每个 cassandra.yaml,但实际上我更希望通过安装的 cassandra 配置文件来实现这一点。
显然,我需要这样的配置仅用于测试目的。
在 github 上检查这个 Cassandra 集群管理器https://github.com/pcmanus/ccm
(链接是配置多个 Cassandra 以侦听不同 localhost 接口 127.0.0.1、127.0.0.2、127.0.0.3 的脚本)
我想如果你有 3 个程序副本,3 个不同的配置,每个端口都不同,并且你必须从可能的连接套接字中排除这些端口,这是可能的。
编辑我不明白反对票。这实际上是最简单的方法,拥有一组二进制文件并为每个节点创建一组 conf 和 yaml 文件,然后为所需的每个本地节点使用一个启动脚本。
示例:7199 上的机器 1、7200 上的机器 2、7201 上的机器 3 等等。为您的本地主机 IP、127.0.0.2、.3、.4 等使用别名
Nodetool ring 将按预期工作,并向您显示一个集群,只有它们都将具有相同的根 IP。
我似乎在 JMX 库上存在端口冲突问题?也许是卡姆?以前,这似乎不是通过 yaml 配置的,但也许启动 .sh 脚本可以禁用它,这似乎是启动脚本中构建的 JVM 选项。
还有一个技巧是为服务器实例使用不同的环回地址,以便它们可以与相同的端口共存,但这会遇到堵塞问题。那是来自 Packt cassandra 高性能食谱。
但从 1.2.5 及更高版本开始,大致上,我无法成功地做到这一点。