0

在使用网络拓扑策略插入查询的 elassandra 中,它显示“没有可用的主机”。

cqlsh>CREATE KEYSPACE IF NOT EXISTS twitter WITH replication={ 'class':'NetworkTopologyStrategy', 'dc1':'1' };

cqlsh>CREATE TABLE twitter.user (
   name text,
   attrs map<text,text>,
   PRIMARY KEY (name)
);

cqlsh>INSERT INTO twitter.user (name,attrs) VALUES ('bob',{'email':'bob@gmail.com','firstname':'bob'});

在此处输入图像描述 节点工具状态在此处输入图像描述

另一个使用相同 dc 的键空间,显示这个 在此处输入图像描述

4

2 回答 2

3

将密钥空间的数据中心名称更改为DC1

ALTER KEYSPACE twitter WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1' : 1};

数据中心名称区分大小写。


已编辑

有两种复制策略可用:

  • SimpleStrategy:仅用于单个数据中心。如果您打算使用多个数据中心,请使用 NetworkTopologyStrategy。
  • NetworkTopologyStrategy:强烈推荐用于大多数部署,因为在未来扩展需要时扩展到多个数据中心要容易得多。
于 2017-09-13T11:14:43.147 回答
0

'dc1'在创建密钥空间时应该是您使用时的数据中心名称nodetool status

于 2017-11-17T11:33:52.693 回答