2016-05-17 9 views
1

Wir laufen 6 Knoten-Cluster mit:kann nicht DSE beginnen SPARK_ENABLED = 1

HADOOP_ENABLED=0 
SOLR_ENABLED=0 
SPARK_ENABLED=0 
CFS_ENABLED=0 

Nun würden wir Spark alle von ihnen hinzufügen. Es scheint, als wäre das "Hinzufügen" nicht der richtige Ausdruck, denn das würde nicht scheitern. Wie auch immer, die Schritte, die wir getan haben: 1. abgelassen einen der Knoten 2. geändert/etc/default/dse zu SPARK_ENABLED = 1 und HADOOP_ENABLED = 0 3. sudo Service dse Neustart

und bekam die folgende im Protokoll:

ERROR [main] 2016.05.17 11: 51: 12.739 CassandraDaemon.java:294 - Fatal Exception während der Initialisierung org.apache.cassandra.exceptions.ConfigurationException: Start kann nicht der Knoten, wenn Schnatz des Data Center (Analytics) unterscheidet sich von früheren Rechenzentren (Cassandra). Bitte behebe die Snitch-Konfiguration, deaktiviere und rebootstrap diesen Knoten oder verwende das Flag -Dcassandra.ignore_dc = true.

Es zwei verwandte Fragen, die bereits beantwortet wurden:

  1. Unable to start solr aspect of DSE search
  2. Two node DSE spark cluster error setting up second node. Why?

Leider auf dem Knoten die Daten zu löschen, ist keine Option - warum sollte ich TU das? Ich brauche die Daten intakt zu sein.

Die Verwendung von "-Dcassandra.ignore_rack = true -Dcassandra.ignore_dc = true" ist ein wenig beängstigend in der Produktion. Ich verstehe nicht, warum DSE einen anderen DC erstellen möchte und warum kann er nicht einfach den bestehenden verwenden?

Ich weiß, dass laut datastax doc die Last mit verschiedenen DC für unterschiedliche Arbeitslasten partitionieren sollte. In unserem Fall möchten wir nur SPARK-Jobs auf denselben Knoten ausführen, die Cassandra mit demselben DC ausführt.

Ist das möglich?

Danke!

Antwort

1

Die anderen Antworten sind korrekt. Das Problem hier ist, Sie zu warnen, dass Sie diesen Knoten zuvor in einem anderen DC identifiziert haben. Dies bedeutet, dass es wahrscheinlich nicht die richtigen Daten für Schlüsselräume mit der Netzwerktopologie-Strategie hat. Wenn Sie z. B. einen NTS-Schlüsselbereich mit nur einem Replikat in "Cassandra" haben und den Domänencontroller in "Analytics" geändert haben, können Sie versehentlich alle Daten verlieren.

Diese Warnung und das zugehörige Flag zeigen an, dass Sie etwas tun, was Sie in einem Produktionscluster nicht tun sollten .

Die echte Lösung hierfür ist, dass Sie Ihre DCs explizit mit GossipingFileSnitch benennen und nicht auf SimpleSnitch basieren, deren Namen auf der DSE-Auslastung basieren.

In diesem Fall wechseln Sie zu GPFS und setzen Sie den DC-Namen auf Cassandra.

+0

Schön, funktionierte wie ein Charme. War ein bisschen skeptisch, den Schnatz zu wechseln, aber es hat geklappt. Vielen Dank! – Pavel

+0

:) Ändern des Snitch in GPFS ist fast immer der richtige Weg, um Prod-Cluster einzurichten. – RussS