apache cassandra replication_factor无法正常工作

时间:2018-04-29 20:59:48

标签: cassandra

我正在尝试学习apache cassandra,所以我创建了一个名为simple strategy的键空间,其类为2,复制因子为replication_factor。我读过{{3}第一个副本放置在由分区器确定的节点上,并且其他副本在环中顺时针放置在下一个节点上,而不考虑拓扑。

我的机架中有3个节点:

  1. 192.168.0.2
  2. 192.168.0.3
  3. 192.168.0.5
  4. 我创建了一个名为users的表,其中包含一些数据。

    问题是,使用2 if (!empty($_GET['userid'])) { $uname=$_GET['userid']; $ihash = get_hash_user($uname); if(!empty($ihash) { response(200,"hash Not Found",NULL); } else { response(200,"hash Found","$ihash"); } } else { response(400,"Invalid Request",NULL); } } function get_hash_user($team) { //Connect oto the DB $connection = db_connect(); if ($connection->connect_error) { return "connection error"; } //Create the query & collect result $result = $connection->query("SELECT DISTINCT hash FROM `myDB` WHERE user = '$userid' "); //Check if result is null or not if($result->NULL){ return "result is NULL"; } else { return "result is not NULL"; } //return the result return $result; } ,我可以访问上述所有3个节点上的数据。

    我有什么不对的吗?

1 个答案:

答案 0 :(得分:0)

由于@AlanBoudreault提出了这个想法,你请求数据的节点并不重要,多亏了八卦协议,你得到了答案(如果有的话)。

这与复制哪个节点数据的事实不同。我有一个复制因子为2的密钥空间,无论我在哪个节点上编写查询,我都能得到数据。但是,如果我单独运行第三个节点(其他两个节点处于脱机状态),我的查询不会给我任何数据