2016-09-07 7 views
0

DC에 이미 하나의 키 공간을 만들었습니다.동일한 DC에 2 개의 Keyspace

tradebees_dev의 키 스페이스에 대한 쿼리를 만듭니다 : - (이 키 스페이스는 잘 작동됩니다.)

CREATE KEYSPACE tradebees_dev WITH replication = {'class': 'NetworkTopologyStrategy', 'solr': '3'} AND durable_writes = true; 

상태는 다음과 같습니다 : - 나는 같은 복제와 같은 DC의 다른 키 스페이스를 만든 후

nodetool status tradebees_dev 

Datacenter: Solr 
================ 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address  Load  Tokens Owns (effective) Host ID        Rack 
UN 127.0.0.1 1.09 GB 256  100.0%   e754d239-8370-4e1d-82c8-dce3d401f972 rack1 
UN 127.0.0.2 1.19 GB 256  100.0%   70b74025-1881-4756-a0c8-a1ec5e57d407 rack1 
UN 127.0.0.3 1.53 GB 256  100.0%   3ba4bfe4-c894-4cd1-a684-f0f20edac78f rack1 

요인.

crawl_dev의 키 스페이스에 대한 쿼리를 만듭니다 : -

CREATE KEYSPACE crawl_dev WITH replication = {'class': 'NetworkTopologyStrategy', 'solr': '3'} AND durable_writes = true; 

nodetool status crawl_dev 

Datacenter: Solr 
================ 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address  Load  Tokens Owns (effective) Host ID        Rack 
UN 127.0.0.1 1.09 GB 256  0.0%    e754d239-8370-4e1d-82c8-dce3d401f972 rack1 
UN 127.0.0.2 1.19 GB 256  0.0%    70b74025-1881-4756-a0c8-a1ec5e57d407 rack1 
UN 127.0.0.3 1.53 GB 256  0.0%    3ba4bfe4-c894-4cd1-a684-f0f20edac78f rack1 

내가 crawl_dev에 두 번째 키 스페이스의 즉에 선택 쿼리를 수행하려고 할 때 첫 번째 키 스페이스는 잘 작동되지만, 나는 오류 메시지가 아래 얻고있다.

Traceback (most recent call last): 
    File "/usr/share/dse/resources/cassandra/bin/cqlsh", line 1124, in perform_simple_statement 
    rows = self.session.execute(statement, trace=self.tracing_enabled) 
    File "/usr/share/dse/resources/cassandra/bin/../lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip/cassandra-driver-2.7.2-5d33cb4/cassandra/cluster.py", line 1602, in execute 
    result = future.result() 
    File "/usr/share/dse/resources/cassandra/bin/../lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip/cassandra-driver-2.7.2-5d33cb4/cassandra/cluster.py", line 3347, in result 
    raise self._final_exception 
Unavailable: code=1000 [Unavailable exception] message="Cannot achieve consistency level ONE" info={'required_replicas': 1, 'alive_replicas': 0, 'consistency': 'ONE'} 

이 문제를 해결하는 방법을 알려주십시오. 동일한 DC에 두 개의 키 공간을 만들 수 있음을 알려주십시오. 예 혹은 아니오.

은 몇 가지 조사 후, 나는이 파일, DC = DC1 및 RC에
/etc/dse/cassandra/cassandra-rackdc.properties 

를 확인 후 정보를 가지고 = RACK1이 주어진다. 감사합니다. .

+0

키 공간의 모든 테이블에서 발생합니까? –

답변

1

의 데이터 센터 이름 명령은 대소 문자를 구분하므로 대신 "키 스페이스를 만들"

CREATE KEYSPACE tradebees_dev WITH replication = {'class': 'NetworkTopologyStrategy', 'solr': '3'} AND durable_writes = true; 

당신이 SOLR을 활용하려면, 예를 들어 :

CREATE KEYSPACE tradebees_dev WITH replication = {'class': 'NetworkTopologyStrategy', 'Solr': '3'} AND durable_writes = true; 

당신은 당신의 "nodetool 상태 [키 스페이스]"명령과 함께 문제 해결을 위해 올바른 궤도에있어. tradebees_dev에 대한 결과에서 각 노드는 Owns 열에 100 %를보고합니다. 이는 3 노드 클러스터에 RF 3이 있기 때문에 의미가 있습니다. 그런 다음 0 %를 나타내는 crawl_dev에 대한 알림은 이 아니며 노드가 해당 데이터를 소유하고있어 오류가 발생했음을 의미합니다. 위의 예에서 복제 팩토리에서 "Solr"이라는 대문자를 사용하여 tradebees_dev를 작성 했으므로 이것이 효과가 있었던 것 같습니다.

+0

예 키 공간 DC 이름을 변경했는데 제대로 작동합니다. 복제 = { 'class': 'NetworkTopologyStrategy', 'Solr': '3'} KEYSPACE crawl_dev를 생성합니다. durable_writes = true; 그리고 지금은 나를 위해 잘 작동합니다. –

+0

좋아요! 이 답변을 "수락 하시겠습니까?"나중에 올 사람들은 이것이 해결책이라고 알고 있습니까? – BrianC

+0

물론 ..하지만이 대답을 수락하면 무엇을 의미합니까? 자세히 설명해 주시겠습니까? 그리고 그것은 내가 직접 당신과 이야기 할 수있는 메일 ID, whatsapp 또는 wechat 또는 skype와 같은 연락처 정보를 얻을 수 있습니다. 나를 위해 위대 할 것입니다 .. 미리 감사드립니다. –

0

같은 DC에 여러 키 공간을 만들면 안되는 이유가 없습니다. 사실, 당신은 이미 클러스터의 여러 keyspaces 있습니다

cqlsh> DESCRIBE keyspaces; 

system_traces system_schema system_auth system system_distributed 
+0

감사합니다 ... 괜찮습니다. 감사합니다 ... –

관련 문제