2015-07-10 92 views
0

我知道這個問題已經問了很多,包括stackoverflow,但到目前爲止,沒有任何解決方案爲我工作。我想這可能是與.yaml文件Cassandra NoHostAvailableException;如何設置本地協議Cassandra羣集?

1)我知道它不是一個防火牆問題,一個奇怪的錯誤,因爲我已經測試了兩個節點

2)我已經增加之間的連接超時

3)我已經設置RPC地址爲0.0.0.0和公共IP

4)我已經設置了廣播地址,公網IP

夫婦違規

1)我注意到我的第一個集羣(工作),這是輸出cqlsh:

連接到CAS1在127.0.0.1:。 [cqlsh 5.0.1 | Cassandra 2.1.3 | CQL規範3.2.0 | 機協議V3現在

,我的新集羣上,它是:

連接到本地主機測試集羣:。 [cqlsh 4.1.1 | Cassandra 2.0.16 | CQL規範3.1.1 | Thrift協議19.39.0

這是正常的嗎?我的建立過程沒有什麼不同。

2)當我在cas1集羣中放入監聽地址時,ip地址是白色的。當我在測試集羣中放入監聽地址時,IP地址會變成紅色,並帶有「。」之一。白色。我不是這方面的專家,但我知道這是不正常的。我試過c/p,它沒有幫助

3)我還注意到,測試集羣沒有「broadcast_rpc_address」設置,cas1集羣做的,我c/p在(obv改變了地址),但沒有工作,以及

我的設置,以便雙方在這兩個卡桑德拉集羣如出一轍:

聽地址:private.ip

start_native_transport:真

native_transport_port:9042

start_rpc:真

rpc_address:public.ip //也試過0.0.0.0

rpc_port:9160個

broadcast_rpc_address:私有IP //也試過公共

4)同時,我將嘗試重新安裝cassandra,到目前爲止我還沒有看到關於如何配置它的本地或節儉協議的詳細信息,請讓我知道是否有方法可以指定此。

感謝您的幫助!

+0

這對Cassandra 2.1.3和Cassandra 2.0.16來說是正常的。 Cassandra 2.1.X使用cqlsh的本地協議,2.0.X使用節儉。您的設置過程必須有點不同:-) – mshuler

+0

它不同於一個用於ec2,另一個用於私有云節點,但我相信我經歷了相同的步驟。這很奇怪,因爲我在2.1.3之後做了一個2.0.x的版本。你知道我爲什麼會得到這個錯誤嗎? – PiedPiper

回答

0

所有現代版本都講節儉(9160)和本地(9042)。

Native用於2.1+的cqlsh,其中2.0中的cqlsh更喜歡節儉。

你以某種方式混合版本 - 可能是因爲你做了apt/yum安裝而沒有注意版本。值得注意的是,0.0.0.0 IP通常是一個不一定工作的快捷方式 - 在那裏獲得正確的IP,並確保它與正確的IP綁定。