单窗口机器上的多节点cassandra设置

时间:2014-04-08 13:30:44

标签: cassandra-2.0

我正在尝试在单个Windows机器上设置3节点Cassandra集群。这仅用于测试目的。

第1步 我通过hosts文件修改如下 127.0.0.1 node1 127.0.0.1 node2 127.0.0.1 node3

第2步 在C:\ Cassandra上安装了Datastax Cassandra(这是节点1) C:\ Cassandra \ node2(节点2) C:\ Cassandra \ node3(节点3)

第3步 更改了所有3个节点的Cassandra.yaml文件 群集名:DevCluster

节点1: -seed:node1 初始标记:0 listen_address:node1 rpc_address:node1

节点2: -seed:node1 初始令牌:手动生成的号码 listen_address:node2 rpc_address:node2

节点3: -seed:node1 初始令牌:手动生成的号码 listen_address:node3 rpc_address:node3

我能够启动Cassandra.bat文件来运行该服务,但问题是在任何时候我只能启动一个服务(任何节点),另一个服务关闭并显示错误消息

ERROR [NonPeriodicTasks:1] 2014-04-08 08:59:09,861 StorageService.java (line 364) Stopping gossiper
  WARN [NonPeriodicTasks:1] 2014-04-08 08:59:09,861 StorageService.java (line 278) Stopping gossip by operator request
  INFO [CompactionExecutor:4] 2014-04-08 08:59:09,861 CompactionTask.java (line 275) Compacted 4 sstables to [C:\Cassandra\data\data\system\schema_keyspaces\system-schema_keyspaces-jb-20,].  651 bytes to 260 (~39% of original) in 706ms = 0.000351MB/s.  6 total partitions merged to 3.  Partition merge counts were {1:2, 4:1, }
 ERROR [NonPeriodicTasks:1] 2014-04-08 08:59:09,861 CassandraDaemon.java (line 196) Exception in thread Thread[NonPeriodicTasks:1,5,main]

ERROR [main] 2014-04-08 08:59:10,220 CassandraDaemon.java (line 357) Fatal configuration error
 org.apache.cassandra.exceptions.ConfigurationException: node1/127.0.0.1:7000 is in use by another process.  Change listen_address:storage_port in cassandra.yaml to values that do not conflict with other services
INFO [StorageServiceShutdownHook] 2014-04-08 08:59:10,220 Gossiper.java (line 1251) Announcing shutdown
  INFO [StorageServiceShutdownHook] 2014-04-08 08:59:12,220 MessagingService.java (line 667) Waiting for messaging service to quiesce

根据日志消息添加我已将storage_port,tcp_port和JMX_port更改为其他数字以避免端口冲突。我正在尝试组建一个群集......但是遇到了这个错误。

如果有人可以指导,我会搞砸的话,我真的很感激。谢谢你的回复。

1 个答案:

答案 0 :(得分:0)

请参阅此相关问题:Run multiple cassandra nodes (a cluster) from the same machine?

它有一个Linux解决方案的链接,它依赖于定义多个本地主机IP地址(即127.0.0。 N ,其中N> 1)。如果您可以为同一台计算机配置多个IP地址,则可能会出现类似情况。

简而言之,Cassandra目前期望整个群集中的同源端口配置,因此分配唯一的端口号不会产生工作群集。这也是为什么你只能启动一个节点,因为你的主机别名(node1,node2等)仍然映射到相同的IP地址,因此是相同的网络接口 - 并且两个进程无法绑定到同一个TCP端口( s)同时在同一个界面上。