2013-01-23 44 views
6

如何從我的Ubuntu運行3個cassandra節點(實際上是一個集羣)?我不想創建3個VMWare/VirtualBox實例,而是將每個cassandra節點配置爲偵聽不同的端口。這是可能的一個cassandra安裝?從同一臺機器運行多個cassandra節點(一個集羣)?

我想到的一個解決方案是安裝3個本地cassandra並獨立配置每個cassandra.yaml,但實際上我更願意通過安裝的cassandra配置文件來實現。

顯然,我只需要這樣的配置用於測試目的。

+0

這不能通過分配不同的端口來完成,因爲有些端口不易配置。然而,通過使用本地主機的同義地址(127.0.0.1,127.0.0.2等)來做到這一點非常簡單。這種方法在http://stackoverflow.com/questions/22513979/setting-up-cassandra-multi-node-cluster-on-a-single-ubuntu-server/25348301#25348301 – h22

回答

4

我想如果你有計劃的3副本,這將是可能的,3種不同的配置,其中每個端口是不同的,你必須要排除這些端口可能的連接插座。

編輯我不明白downvotes。這實際上是實現它的最簡單方法,擁有一組二進制文件併爲每個節點創建一組conf和yaml文件,然後爲每個需要的本地節點使用一個啓動腳本。

示例:機器1在7199,機器2在7200,機器3在7201等等。 使用別名爲您的本地IP,127.0.0.2,.3,.4等

Nodetool環將按預期工作,並向您顯示一個羣集,只有所有這些羣集將具有相同的根IP。

+0

中的描述可能是downvotes是因爲不是所有的端口都可以輕鬆移動,有些端口是硬編碼的。看起來比Cassandra的功能更多的bug,但這需要一些特殊的解決方法。 – h22

0

我看起來JMX庫上的端口衝突問題?jamm也許?之前,似乎沒有通過yaml配置,但也許啓動.sh腳本可以禁用它,這似乎是在啓動腳本中構建的JVM選項。

對於服務器實例使用不同的環回地址也有一個竅門,所以它們可以與相同的端口共存,但遇到了干擾問題。那是來自Packt cassandra的高性能食譜。

但從1.2.5及更高版本開始,粗略地說,我沒能成功地做到這一點。

+0

這可以通過爲每個Cassandra實例設置不同的JMX端口來輕鬆解決。這個端口在conf/cassandra-env.sh中定義,編輯並且它會再次工作。 – h22

相關問題