Es ist nicht möglich, mit irgendwelchen Startwerten zu plaudern, aber weiterzumachen, da sich der Knoten in seiner eigenen Startliste befindet

8

Um einen Knoten aus dem 2-Knoten-Cluster in AWS zu entfernen, habe ich

ausgeführt

nodetool removenode <Host ID>

Danach sollte ich meinen Cluster zurückbekommen, wenn ich alle cassandra.yaml und cassandra-rackdc.properties richtig gesetzt habe. Ich habe es getan, aber ich bin immer noch nicht in der Lage, mein Cluster zurück zu bekommen.

nodetool status zeigt nur einen Knoten an.

signifikante system.log auf Cassandra ist:

%Vor%

Inhalt der Dateien:

cassandra.yaml : Ссылка

cassandrackdc.properties : Ссылка

system.log : Ссылка

netstat -atun Ссылка

Beide Knoten haben dasselbe Fehlerprotokoll.

Alle erforderlichen Ports sind offen.

Irgendwelche Vorschläge?

    
Avi 09.08.2017, 07:55
quelle

2 Antworten

4

In der Regel empfiehlt es sich, einen Seed-Knoten pro Domänencontroller zu verwenden , wenn in Ihrem Datencenter nur zwei Knoten verfügbar sind. Sie sollten in diesem Fall nicht jeden Knoten zu einem Seed-Knoten machen.

Ich habe festgestellt, dass node1 - seeds: "node1,node2" und node2 - seeds: "node2,node1" in Ihrer Konfiguration hat. Ein Knoten wird standardmäßig gestartet, ohne irgendwelche anderen Seeds zu kontaktieren, wenn er seine IP-Adresse als erstes Element im Abschnitt - seeds: ... in der Konfigurationsdatei cassandra.yml finden kann. Das können Sie auch in Ihren Protokollen finden:

... Unable to gossip with any seeds but continuing since node is in its own seed list ...

Ich vermute, dass in Ihrem Fall node1 und node2 starten, ohne sich gegenseitig zu kontaktieren, da sie sich als Seed-Knoten identifizieren.

Verwenden Sie in der Konfiguration der beiden Instanzen nur den Knoten1 für den Startknoten, und starten Sie den Cluster neu. Wenn Knoten1 nicht aktiv ist und Knoten2 aktiv ist, müssen Sie den Abschnitt - seeds: ... in der Konfiguration von Knoten1 so ändern, dass er nur auf die IP-Adresse von Knoten2 zeigt und nur Knoten1 bootet.

Wenn Ihre Knoten aufgrund einer falschen Konfiguration der Firewall nicht gefunden werden können, ist es normalerweise ein guter Ansatz, um zu überprüfen, ob ein bestimmter Port von einem anderen Standort aus zugänglich ist. Z.B. Sie können nc verwenden, um zu überprüfen, ob ein bestimmter Port geöffnet ist:

%Vor%

Referenzen und Links

Siehe die Liste der Ports, die Cassandra unter folgendem Link verwendet Ссылка

Siehe auch eine ausführliche Dokumentation zum Ausführen mehrerer Knoten mit vielen Beispielbefehlen: Ссылка

    
Oresztesz 14.08.2017, 10:29
quelle
0

Dies ist für zukünftige Referenz. Mein Problem wurde nur durch das Öffnen von 7000-Port für dieselbe Sicherheitsgruppe in AWS gelöst. Obwohl es offen war, war die Sicherheitsgruppe etwas anderes. Als ich lief:

%Vor%

Ich habe erfahren, dass das Problem von der Sicherheitsgruppe sein könnte. Und so ist es gelöst worden.

Über Seeds verwende ich IP von beiden Knoten, wie folgt:

%Vor%

Es ist auf beiden Knoten gleich.

    
Avi 15.08.2017 06:50
quelle

Tags und Links