2014-12-04 47 views
1

我正在測試升級到4.6,並且似乎有一點變化。 4.5運行良好。升級到DSE 4.6 endpoint_snitch問題

endpoint_snitch: com.datastax.bdp.snitch.DseDelegateSnitch 

在cassandra.yaml文件中配置,但4.6無法啓動。我能夠開始的唯一方法就是使用經典的snit,但是我必須配置我的Datacenter名稱等......我如何使用DseDelegateSnitch。

當我使用DseDelegateSnitch時,上述配置出現以下錯誤。

Fatal configuration error 
org.apache.cassandra.exceptions.ConfigurationException: DseDelegateSnitch is now handled automatically; please set endpoint_snitch in cassandra.yaml to any valid IEndpointSnitch (probably whatever is configured for delegated_snitch in dse.yaml). Also remove delegated_snitch from dse.yaml if it is still set there. 
     at com.datastax.bdp.config.DseConfigurationLoader.loadConfig(DseConfigurationLoader.java:47) 
     at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:136) 
     at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:112) 

當我使用諸如propertyfilesnitch之類的告密者時,節點將開始。

在此先感謝。在解決方案

更新我沒有在dse.yaml文件委託打小報告,但我確實有DseDelegateSnitch在cassandra.yaml。我跑這個:

sed -r 's/DseDelegateSnitch/DseSimpleSnitch/g' /etc/dse/cassandra/cassandra.yaml 

而我又回來了。

感謝Datastax的Docs團隊!

回答

4

對於打小報告的型升級說明在這裏:http://datastax.com/documentation/upgrade/doc/upgrade/datastax_enterprise/upgradeTo4_6.html

開始在DataStax企業4.6,端點飛賊在cassandra.yaml設置,不dse.yaml。添加EMOVE的delegated_snitch設置從dse.yaml和

程序

按照一般的升級過程中的步驟,直到你開始的節點。

  • 在文本編輯器中打開cassandra.yaml。
  • 將一個endpoint_snitch選項設置爲在dse.yaml中的 delegated_snitch中設置的告密者。

    DataStax Enterprise 4.6現在自動處理委派的線索。如果dse.yaml中的舊的delegated_snitch設置爲com.datastax.bdp.snitch.DseDelegateSnitch,請將cassandra.yaml中的endpoint_snitch設置爲com.datastax.bdp.snitch.DseSimpleSnitch。

在文本編輯器

endpoint_snitch: com.datastax.bdp.snitch.DseSimpleSnitch

  • 打開dse.yaml並取出delegated_snitch 選項。
  • 爲cluser中的每個節點重複這些步驟。
+0

我沒有dse文件中的delegated_snitch,但我確實在cass yaml文件中有com.datastax.bdp.snitch.DseDelegateSnitch。我更新到com.datastax.bdp.snitch.DseSimpleSnitch,它開始:) – chrislovecnm 2014-12-05 20:13:13

3

正如錯誤所述,您需要將delegated_snitch設置移出dse.yaml並將其設置在cassandra.yaml中。

升級時,您真的想從新版本的默認dse.yaml和cassandra.yaml文件啓動,並在您所做的任何更改中合併。主要版本之間的默認設置和配置通常會改變。

+0

我在哪裏可以得到yaml文件? – chrislovecnm 2014-12-04 21:27:22

+0

它們位於resources/dse/conf /和resources/cassandra/conf目錄中 – phact 2014-12-04 23:01:14

+0

此錯誤消息實際上是誤導性的。我沒有在dse.yaml中有一個delegated_snitch,但是我確實將snitch設置爲舊的com.datastax.bdp.snitch.DseDelegateSnitch。 – chrislovecnm 2014-12-05 20:10:34