[英]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.