2013-01-23 6 views
6

Jak mogę uruchomić 3 węzły Kasandra (a właściwie klaster) z mojego Ubuntu? Nie chcę tworzyć 3 instancji VMWare/VirtualBox, ale zamiast tego należy skonfigurować każdy węzeł kelnerski, aby nasłuchiwał innego portu. Czy to możliwe przy jednej instalacji kassandra?Uruchomić wiele węzłów kassandra (klastra) z tego samego komputera?

Rozwiązaniem, które przyszło mi do głowy, jest zainstalowanie 3 lokalnych instalacji Kasandra i skonfigurowanie każdego kassandra.yaml niezależnie, ale w rzeczywistości wolałbym to osiągnąć dzięki zainstalowanym plikom konfiguracyjnym Kasandra.

Potrzebuję takiej konfiguracji tylko do celów testowych, oczywiście.

+0

Nie można tego zrobić, przypisując różne porty, ponieważ niektórych nie można łatwo skonfigurować. Jednak bardzo łatwo jest to zrobić, używając synonimowych adresów hosta lokalnego (127.0.0.1, 127.0.0.2 itd.). To podejście jest opisane w odpowiedzi na http://stackoverflow.com/questions/22513979/setting-up-cassandra-multi-node-cluster-on-a-single-ubuntu-server/25348301#25348301 – h22

Odpowiedz

4

myślę, że byłoby to możliwe, jeśli miał 3 kopii programu, 3 różne konfiguracje, gdzie każdy port jest inny i trzeba by wykluczyć te porty z możliwe gniazda przyłączeniowe.

Edytuj Nie rozumiem pochmurnych słów. Jest to w rzeczywistości najprostszy sposób, aby to zrobić, mieć jeden zestaw plików binarnych i utworzyć zestaw plików conf i yaml dla każdego z twoich węzłów, a następnie użyć jednego skryptu uruchamiania dla każdego z lokalnych węzłów, które chcesz.

Przykład: Maszyna 1 na 7199, Maszyna 2 na 7200, Maszyna 3 na 7201 i tak dalej. Użyj aliasów dla lokalnego adresu IP, 127.0.0.2, .3, .4 itd.

Pierścień Nodetool będzie działał zgodnie z założeniami i pokaże ci klaster, tylko wszystkie będą miały ten sam główny adres IP.

+0

Prawdopodobnie są to spadki ponieważ nie wszystkie porty można łatwo przenosić, niektóre są na stałe. Wygląda więcej błędów niż cecha Cassandry, ale wymaga to specjalnych obejść. – h22

0

Wydaje mi się, że mam problemy z konfliktami portów w bibliotece JMX? wcześniej, to nie wygląda na skonfigurowane przez yaml, ale być może skrypt startowy .sh może go wyłączyć, co wydaje się być opcją JVM zbudowaną w skrypcie uruchamiania.

Wystąpiła również sztuczka polegająca na użyciu różnych adresów pętli zwrotnej dla instancji serwera, aby mogły współistnieć z tymi samymi portami, ale wystąpiły problemy z jamm. To było z podręcznej książki kucharskiej Packarda Kasandra.

Ale od wersji 1.2.5 i wyższej, z grubsza nie udało mi się tego zrobić pomyślnie.

+0

Można to łatwo rozwiązać, ustawiając inny port JMX dla każdej instancji Cassandra. Ten port jest zdefiniowany w conf/cassandra-env.sh, edit i będzie działać ponownie. – h22