Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VMWare上的群集中启动Cassandra节点时,如何解决节点令牌冲突问题?_Cassandra - Fatal编程技术网

在VMWare上的群集中启动Cassandra节点时,如何解决节点令牌冲突问题?

在VMWare上的群集中启动Cassandra节点时,如何解决节点令牌冲突问题?,cassandra,Cassandra,在VM环境中将节点添加到集群时,初始\u令牌冲突是否存在任何已知问题 我正在虚拟机上建立一个4节点集群。尝试向集群添加节点时遇到问题 在cassandra.yaml文件中,初始_标记保留为空。 由于我们运行的是>1.0 cassandra,因此自动引导在默认情况下应该为true 据我所知,集群中的每个节点都应该在启动时分配一个初始令牌 这不是我们目前看到的情况。 我们不想为每个节点手动设置初始_令牌的值(有点违背了动态的目标..) 我们还将partitioner设置为random:partiti

在VM环境中将节点添加到集群时,初始\u令牌冲突是否存在任何已知问题

我正在虚拟机上建立一个4节点集群。尝试向集群添加节点时遇到问题

在cassandra.yaml文件中,初始_标记保留为空。 由于我们运行的是>1.0 cassandra,因此自动引导在默认情况下应该为true

据我所知,集群中的每个节点都应该在启动时分配一个初始令牌

这不是我们目前看到的情况。 我们不想为每个节点手动设置初始_令牌的值(有点违背了动态的目标..) 我们还将partitioner设置为random:partitioner:org.apache.cassandra.dht.RandomPartitioner

我在下面概述了我们遵循的步骤和我们看到的结果。 有人能告诉我我们缺少什么吗

以下是我们正在采取的详细步骤:

1) 杀死所有cassandra实例并删除每个节点上的数据和提交日志文件

2) 启动种子节点(S.S.S.S) 一切都很好

3) 运行nodetool-h W.W.W环并查看: 4) X.X.X.X启动 5) 运行nodetool-h W.W.W环并查看: 6) Y.Y.Y.Y创业公司 7) 运行nodetool-h W.W.W环并查看: 8) Z.Z.Z.Z启动 9) 运行nodetool-h W.W.W环并查看:
提前感谢。

很明显,您的节点保留了启动时使用的一些过去的集群信息。确保删除LocationInfo目录,其中包含有关群集的数据。您有一个非常奇怪的令牌布局(例如,0令牌在哪里?)

这可能有助于解释令牌分配是如何工作的,所以让我也来说明一下。在一个全新的集群中,默认情况下,第一个节点将获得分配的令牌0,并且将拥有100%的所有权。如果未为下一个节点指定令牌,Cassandra将计算令牌,使原始节点拥有较低的50%,而新节点拥有较高的50%

当您添加节点3时,它将在第一个和第二个之间插入令牌,因此您最终的所有权看起来是25%、25%、50%。这真的很重要,因为这里要吸取的教训是,卡桑德拉永远不会自行重新分配令牌来平衡戒指。如果你想让你的所有权平衡,你必须分配你自己的代币。这并不难做到,实际上提供了一个实用程序来做到这一点


因此,卡桑德拉的初始引导过程虽然是动态的,但可能不会产生所需的环平衡。您不能简单地允许新节点随意加入,而不进行一些干预以确保获得所需的结果。否则,您将以问题中列出的场景结束。

这就是我为解决此问题所做的:

  • 停止卡桑德拉服务
  • 在种子节点上设置
    自动引导:false
  • 空数据和提交日志目录:
    
    sudo rm-rf/var/lib/cassandra/data/*
    sudorm-rf/var/lib/cassandra/commitlog/*
    
  • 然后重新启动服务
  • 我用卡桑德拉3.7测试了这个

    Address         DC          Rack        Status State   Load            Effective-Ownership Token
    S.S.S.S         datacenter1 rack1       Up     Normal  28.37 GB        100.00%             24360745721352799263907128727168388463
    
     INFO [GossipStage:1] 2012-11-29 21:16:02,194 Gossiper.java (line 850) Node /X.X.X.X is now part of the cluster
     INFO [GossipStage:1] 2012-11-29 21:16:02,194 Gossiper.java (line 816) InetAddress /X.X.X.X is now UP
     INFO [GossipStage:1] 2012-11-29 21:16:02,195 StorageService.java (line 1138) Nodes /X.X.X.X and /Y.Y.Y.Y have the same token 113436792799830839333714191906879955254.  /X.X.X.X is the new owner
     WARN [GossipStage:1] 2012-11-29 21:16:02,195 TokenMetadata.java (line 160) Token 113436792799830839333714191906879955254 changing ownership from /Y.Y.Y.Y to /X.X.X.X
    
    Address         DC          Rack        Status State   Load            Effective-Ownership Token
                                                                                               113436792799830839333714191906879955254
    S.S.S.S         datacenter1 rack1       Up     Normal  28.37 GB        100.00%             24360745721352799263907128727168388463
    W.W.W.W         datacenter1 rack1       Up     Normal  123.87 KB       100.00%             113436792799830839333714191906879955254
    
     INFO [GossipStage:1] 2012-11-29 21:17:36,458 Gossiper.java (line 850) Node /Y.Y.Y.Y is now part of the cluster
     INFO [GossipStage:1] 2012-11-29 21:17:36,459 Gossiper.java (line 816) InetAddress /Y.Y.Y.Y is now UP
     INFO [GossipStage:1] 2012-11-29 21:17:36,459 StorageService.java (line 1138) Nodes /Y.Y.Y.Y and /X.X.X.X have the same token 113436792799830839333714191906879955254.  /Y.Y.Y.Y is the new owner
     WARN [GossipStage:1] 2012-11-29 21:17:36,459 TokenMetadata.java (line 160) Token 113436792799830839333714191906879955254 changing ownership from /X.X.X.X to /Y.Y.Y.Y
    
    Address         DC          Rack        Status State   Load            Effective-Ownership Token
                                                                                               113436792799830839333714191906879955254
    S.S.S.S         datacenter1 rack1       Up     Normal  28.37 GB        100.00%             24360745721352799263907128727168388463
    Y.Y.Y.Y         datacenter1 rack1       Up     Normal  123.87 KB       100.00%             113436792799830839333714191906879955254
    
     INFO [GossipStage:1] 2012-11-30 04:52:28,590 Gossiper.java (line 850) Node /Z.Z.Z.Z is now part of the cluster
     INFO [GossipStage:1] 2012-11-30 04:52:28,591 Gossiper.java (line 816) InetAddress /Z.Z.Z.Z is now UP
     INFO [GossipStage:1] 2012-11-30 04:52:28,591 StorageService.java (line 1138) Nodes /Z.Z.Z.Z and /Y.Y.Y.Y have the same token 113436792799830839333714191906879955254.  /Z.Z.Z.Z is the new owner
     WARN [GossipStage:1] 2012-11-30 04:52:28,592 TokenMetadata.java (line 160) Token 113436792799830839333714191906879955254 changing ownership from /Y.Y.Y.Y to /Z.Z.Z.Z
    
    Address         DC          Rack        Status State   Load            Effective-Ownership Token
                                                                                               113436792799830839333714191906879955254
    W.W.W.W         datacenter1 rack1       Up     Normal  28.37 GB        100.00%             24360745721352799263907128727168388463
    S.S.S.S         datacenter1 rack1       Up     Normal  28.37 GB        100.00%             24360745721352799263907128727168388463
    Z.Z.Z.Z         datacenter1 rack1       Up     Normal  123.87 KB       100.00%             113436792799830839333714191906879955254