2016-09-07 89 views
0

我已經在DC上創建了一個密鑰空間。在同一個DC上的兩個Keyspace

爲tradebees_dev密鑰空間創建查詢: - (這個密鑰空間是工作的罰款。)

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

狀態低於: -

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 

那之後,我創造了另一個密鑰空間上相同的DC具有相同的複製因素。

創建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。然後注意crawl_dev顯示0%,這意味着沒有節點擁有該數據,因此收到錯誤。在你上面的例子中,我懷疑你在複製工廠中用大寫「Solr」創建了tradebees_dev,這就是它工作的原因。

+0

是我改變了密鑰空間DC的名稱,這是工作fine.CREATE KEYSPACE crawl_dev WITH複製= {'類':'NetworkTopologyStrategy','Solr':'3'}和durable_writes = true; 它現在對我來說工作正常。 –

+0

太棒了!你會介意「接受」這個答案,以便後來的其他人會知道這是解決方案嗎? – BrianC

+0

當然..但你接受這個答案是什麼意思..你可以告訴我更多的細節。是否有可能我可以得到你的任何聯繫方式,如郵件ID,WhatsApp的,微信或Skype,我可以直接與你談話..將是偉大的我..在此先感謝。 –

0

我不明白爲什麼你不應該能夠在同一個DC上創建多個密鑰空間。事實上,你已經擁有了集羣中的多個keyspaces:

cqlsh> DESCRIBE keyspaces; 

system_traces system_schema system_auth system system_distributed 
+0

感謝它工作正常..謝謝... –

相關問題