NoHostAvailable:, 在 elassandra 中使用网络拓扑策略插入查询
NoHostAvailable:, In elassandra on insert query with Network Topology Strategy
在 elassandra 中,使用网络拓扑策略插入查询显示 'no host available'。
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 的另一个键空间,显示这个
将密钥空间的数据中心名称更改为DC1
ALTER KEYSPACE twitter WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1' : 1};
Data Center name is case sensitive.
已编辑
有两种复制策略可用:
- SimpleStrategy:仅用于单个数据中心。如果您打算使用多个数据中心,请使用 NetworkTopologyStrategy。
- NetworkTopologyStrategy:强烈推荐用于大多数部署,因为在未来扩展需要时更容易扩展到多个数据中心。
'dc1'
在创建键空间时应该是您使用 nodetool status
时的数据中心名称
在 elassandra 中,使用网络拓扑策略插入查询显示 'no host available'。
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 的另一个键空间,显示这个
将密钥空间的数据中心名称更改为DC1
ALTER KEYSPACE twitter WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1' : 1};
Data Center name is case sensitive.
已编辑
有两种复制策略可用:
- SimpleStrategy:仅用于单个数据中心。如果您打算使用多个数据中心,请使用 NetworkTopologyStrategy。
- NetworkTopologyStrategy:强烈推荐用于大多数部署,因为在未来扩展需要时更容易扩展到多个数据中心。
'dc1'
在创建键空间时应该是您使用 nodetool status