簡體   English   中英

從遠程計算機連接到Cassandra

[英]Connecting to Cassandra from remote machine

我想向您尋求有關如何從遠程計算機連接到我的Droplet上的Cassandra DB的幫助。 我做了本文中寫的所有事情: 安裝Cassandra,但是當我嘗試從C#代碼進行連接時:

cluster = Cassandra.Cluster.Builder()
    .WithCredentials("abc", "abc")
    .AddContactPoints(new[] { "12.34.56.78" })
    .WithPort(9168)
    .Build();

var session = cluster.Connect();
var keyspace = "Test";
session.CreateKeyspaceIfNotExists(keyspace);
session.ChangeKeyspace(keyspace);

我收到異常:

Cassandra.dll中的'Cassandra.NoHostAvailableException'

附加信息:嘗試查詢的主機均不可用
(嘗試:12.34.56.78:9168)

我還嘗試了其他Cassandra GUI客戶端(如DBeaver),但遇到了同樣的錯誤。

我的Droplet是Ubuntu 14.04。 從本地主機,我對Cassandra沒問題,我唯一的問題是來自遠程。

這是來自的結果

須藤netstat -plunt

開放端口

為什么會這樣,我該如何解決?

您必須使用端口9042。

listen_interface用於設置節點間通信。

Cassandra綁定到的IP地址或主機名,用於連接到其他Cassandra節點。 設置此參數或listen_interface,不能兩者都設置。

您必須更改rpc_address,然后重新啟動cassandra守護程序

(默認值:localhost)客戶端連接(Thrift RPC服務和本機傳輸)的偵聽地址。 有效值為:

確保可以在本地運行cqlsh,即從運行Cassandra的主機運行。 如果不能,請檢查Cassandra是否正在運行(檢查日志)並在您要連接的接口上進行偵聽。

如果您可以本地連接,請檢查Cassandra的rpc_address和rpc_broadcast_address的設置。 它應該設置為'localhost'以外的其他值(默認設置)。

默認情況下,9042端口用於CQL,建議您不要將其重置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM