use*_*860 4 ubuntu cluster-computing cassandra
我现在在我的Ubuntu服务器上运行一个带有单个节点的Cassandra服务.我想把它变成一个有3个节点的环形集群,让人感觉多节点集群都在同一台服务器上.按照此链接中的步骤https://www.youtube.com/watch?v=oHMJrhMtv3c,我尝试创建一个新的群集,而不停止已经运行的cassandra服务.但它抛出了地址引起的:java.net.BindException:地址已经在使用中.所以我尝试将种子ip更改为已经运行的cassandra ip地址,并尝试在前台运行第二个cassandra服务.这次它抛出了java.lang.RuntimeException:无法创建到ip端口的thrift socket.请告诉我如何将节点添加到同一服务器上已运行的单节点群集.
在同一台Ubuntu机器上运行多个Cassandra实例非常容易,只要它们具有不同的IP地址,这些IP地址都可以解析到本地主机.整个127.0.0.0/8地址块保留用于环回,因此发送到地址(127.0.0.1到127.255.255.254)的任何数据包都将被环回.
ping检查,如果地址解析正确.编辑cassandra.yaml和替换
localhost 到我们为该实例提供的IP地址(如127.0.0.2).SimpleSeedProvider所有其他Cassandra实例的地址并将其放入种子列表中以构建群集(如- seeds: "127.0.0.2","127.0.0.3"编辑cassandra-env.sh,找到JMX_PORT属性的设置位置,并为每个Cassandra实例赋予不同的值(不同的端口).否则,由于此端口上存在冲突,实例无法一起运行.
./cassandra启动脚本逐个启动实例(稍后可以为此编写简单的bash脚本).使用./nodetool状态验证拓扑.例如,对于两个节点,输出必须如下
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 127.0.0.1 61.97 KB 256 100.0% 6c04e202-8f24-4f17-b430-0154c1512316 rack1
UN 127.0.0.2 105.68 KB 256 100.0% ca3073ee-451c-4cef-97ee-d312784648bb rack1
Run Code Online (Sandbox Code Playgroud)在单台计算机上设置多节点集群的最简单方法是使用 CCM。目前,您的节点尝试绑定同一组端口时遇到了问题。CCM 将为您解决此问题并自动增量端口等...
https://github.com/pcmanus/ccm