我有一個本地運行的cassandra db。我可以看到它在Ops Center中工作。但是,當我打開開發中心並嘗試連接時,我得到一個神祕的「無法連接」錯誤。如何連接到本地cassandra db
如何獲得我需要通過開發中心連接到本地cassandra db的確切名稱/連接字符串?
我有一個本地運行的cassandra db。我可以看到它在Ops Center中工作。但是,當我打開開發中心並嘗試連接時,我得到一個神祕的「無法連接」錯誤。如何連接到本地cassandra db
如何獲得我需要通過開發中心連接到本地cassandra db的確切名稱/連接字符串?
的主機名/ IP對在您cassandra.yaml.If要連接到卡桑德拉從本地主機只(沙箱機)的listen_address
屬性指定連接,然後就可以設置listen_address
在cassandra.yaml因此:
listen_address: localhost
當您啓動卡桑德拉,你應該看到無論是在標準輸出或在您的SYSTEM.LOG與此類似線(爲簡潔,刪除時間戳):
Starting listening for CQL clients on localhost/127.0.0.1:9042...
Binding thrift service to localhost/127.0.0.1:9160
Listening for thrift clients...
這些線指示哪些加你應該使用連接到你的集羣。測試連接的第一種方法是使用clqsh
。請注意,默認情況下,cqlsh將連接到「localhost」。如果要連接到除localhost之外的主機/ IP,則需要在命令行上指定它。
$ cqlsh
Connected to Test Cluster at localhost:9042.
[cqlsh 5.0.1 | Cassandra 2.1.0-rc5-SNAPSHOT | CQL spec 3.2.0 | Native protocol v3]
Use HELP for help.
cqlsh>
如果一切正常,那麼你也應該能夠連接(和測試)由DataStax開發中心(也是你的本地計算機上)通過定義爲localhost的連接,就像這樣:
在這一點上,你應該能夠通過你的應用程序代碼連接(如圖所示的Java CQL3司機):
cluster = Cluster.builder().addContactPoint("localhost").build();
Metadata metadata = cluster.Metadata;
Console.WriteLine("Connected to cluster: " + metadata.ClusterName.ToString());
Session session = cluster.connect();
哪個版本卡桑德拉您使用的是? – 2014-09-05 02:11:25
你的cassandra.yaml中的「listen_address」的值是什麼? – Aaron 2014-09-05 03:51:09
'cqlsh'在你的終端上工作嗎? – phact 2014-09-07 16:32:33