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
Database Cassandra复制设置_Database_Cassandra_Database Replication_Ccm - Fatal编程技术网

Database Cassandra复制设置

Database Cassandra复制设置,database,cassandra,database-replication,ccm,Database,Cassandra,Database Replication,Ccm,我和卡桑德拉3.9一起工作。我有一些疑问,比如我目前有两台物理机器,希望以最好的方式存储数据:- 1) 在两台机器上以分布式顺序进行。 2) 另一种方法是在一台机器上存储完整的数据,并将整个副本复制到另一台机器上。(第一优先) 现在,如果我继续创建2个DC,每个DC有3个节点,即在我的设置中,1台机器将有3个本地节点,同样地,第二台机器。那么,我将如何使这两个独立的DC1和DC2相互通信 我还尝试将CCM用于群集设置,但由于出现一个错误而停止。“CCM Warning Downloading 3

我和卡桑德拉3.9一起工作。我有一些疑问,比如我目前有两台物理机器,希望以最好的方式存储数据:-

1) 在两台机器上以分布式顺序进行。
2) 另一种方法是在一台机器上存储完整的数据,并将整个副本复制到另一台机器上。(第一优先)

现在,如果我继续创建2个DC,每个DC有3个节点,即在我的设置中,1台机器将有3个本地节点,同样地,第二台机器。那么,我将如何使这两个独立的DC1和DC2相互通信


我还尝试将CCM用于群集设置,但由于出现一个错误而停止。“CCM Warning Downloading 3.9.0失败,因为在字符串格式化过程中没有转换所有参数。”


当我得到错误时,我正在使用这个查询:-ccm create--3.9.0版--nodes 3--start test

cassandra如何分发数据检查答案

您在cassandra.yaml文件中的配置决定了数据的存放位置。数据复制取决于密钥空间定义-

CREATE KEYSPACE ums_db WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': '2', 'DC2': '2'} ;
对于此模式定义,cassandra将复制两个不同节点中的每一行。Cassandra将选择顺时针方向的节点,如回答中所述


现在,要使它与两个数据中心一起工作,在您的情况下是两台不同的机器,您需要指定合适的告密者。冷藏页面,这解释了属性文件snitch和cassandra-topology.properties,它定义了数据中心配置。两个DC将充当一个cassandra服务器。每个节点都可以扮演协调人的角色,由服务器决定。

CCM警告下载3.9.0失败-您是否厌倦了其他版本,请尝试一些旧版本,如3.0或版本3中的某些RC。
CREATE KEYSPACE ums_db WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': '2', 'DC2': '2'} ;