2013-02-06 104 views
1

我在遠程Windows服務器上運行Cassandra 1.2.1。我將yaml設置如下;連接遠程Cassandra(1.2.1)服務器

rpc_address:0.0.0.0 start_native_transport:真

我可以通過鍵入IP地址和端口號,連接我的筆記本電腦的遠程服務器卡桑德拉;

connect XXX.XX.XX.XX/9160;

上卡桑德拉 - cli.bat

但我不能連接從我的.Net應用程序的遠程服務器卡桑德拉。我用casssandra-sharp;

XmlConfigurator.Configure(); 
using (ICluster cluster = ClusterManager.GetCluster("main")) 
      Console.WriteLine("succeded"); 
ClusterManager.Shutdown(); 

這裏是App.config;

<configSections> 
    <section name="CassandraSharp" type="CassandraSharp.SectionHandler, CassandraSharp" /> 
    </configSections> 

    <CassandraSharp> 
    <Cluster name="main"> 
     <Endpoints> 
     <Server>XXX.XX.XX.XX</Server> 
     </Endpoints> 
    </Cluster> 
    </CassandraSharp> 

應用程序將引發「找不到任何有效的端點」異常。當我在本地運行Cassandra並嘗試連接時,此代碼塊完美工作。

在遠程服務器上防火牆允許9160和7000端口。有關這個問題的任何想法?

回答

4

@rs_atl是對的,這是一個連接問題。

如果您正在使用客戶端庫並要執行CQL命令,則需要設置;

start_native_transport: true 

你已經做了。下面只有兩行,你會看到;

native_transport_port: 9042 

在yaml文件中。這意味着你需要允許在防火牆上的端口號。

如果你也喜歡使用Azure的雲服務,不要忘記添加一個終點。

0

如果您的代碼在本地工作,但無法在另一臺計算機上工作,唯一合乎邏輯的結論是必須存在連接問題。