【发布时间】:2017-01-08 03:26:06
【问题描述】:
我正在使用 DSE Cassandra 并希望使用 solr_query,因此创建了 Keyspace,如下所示:
create keyspace demo with replication = {'class': 'NetworkTopologyStrategy', 'Solr': 3};
创建了下表:
create table demo.onlinetransactions
( unique_tran_id text, user_id text, account_type text,
account_id text, create_ts timestamp, data text,
primary key (unique_tran_id) );
但是,当我尝试在此表中插入记录时,我收到如下所述的错误:
insert into demo.onlinetransactions (unique_tran_id, user_id,
account_type, account_id, create_ts, data)
values ('trans1', 'user1', 'creditcard',
'1234567890123451', '2015-01-01 09:00:00', '{amount:100.00,vendor:Amazon}');
错误:
NoHostAvailable: ('Unable to complete the operation against any hosts',
{<Host: 127.0.0.1 dc0>: Unavailable('Error from server: code=1000
[Unavailable exception]
message="Cannot achieve consistency level ONE"
info={\'required_replicas\': 1, \'alive_replicas\': 0,
\'consistency\': \'ONE\'}',)})
我需要验证哪些配置设置才能在具有“NetworkTopologyStrategy”和“Solr”设置的键空间中插入记录?
我还可以在键空间如下时插入记录(但这不是使用我想使用的 Solr。):
CREATE KEYSPACE user WITH replication =
{'class': 'SimpleStrategy', 'replication_factor': '3'}
AND durable_writes = true;
【问题讨论】:
-
您的数据中心是否命名为 Solr?如果不是,那么您需要使用您的数据中心名称,因为此字段与 Solr 无关。需要注意的是,如果您在 DSE 中启用了 Solr,您所需要做的就是为 C* 表和索引创建一个核心。
-
只是想知道在哪里可以找到数据中心的名称。我尝试了“cassandra-topology.properties”文件中的名称。这是我可以获得数据中心名称的位置吗?像 xx.0.0.xx=DC1:RAC1 我指定 DC1 仍然有错误。
标签: datastax-enterprise datastax-startup datastax-search