2017-03-24 2 views
1

Auf dem gleichen Host wie Master memsql-deploy Blatt Knoten immer mit demselben Fehler fehlgeschlagen. Das Umschalten auf neue Maschinen hat den gleichen Fehler.Memsql-Deploy Leaf-Knoten konsistent fehlgeschlagen

sind hier die Schritte Master-Rolle zu implementieren:

# memsql-ops memsql-deploy -a Af53bfb -r master -P 3306 --community-edition 
2017-03-24 16:15:54: Je5725b [INFO] Deploying MemSQL to 172.17.0.3:3306 
2017-03-24 16:15:59: Je5725b [INFO] Installing MemSQL 
2017-03-24 16:16:02: Je5725b [INFO] Finishing MemSQL Install 
Waiting for MemSQL to start... 
MemSQL successfully started 

Hier sind die sofortigen Schritte Blattknoten nach der Bereitstellung von Master hinzuzufügen:

# memsql-ops memsql-deploy -a Af53bfb -r leaf -P 3308  
2017-03-24 16:16:43: J32c71f [INFO] Deploying MemSQL to 172.17.0.3:3308 
2017-03-24 16:16:43: J32c71f [INFO] Installing MemSQL 
2017-03-24 16:16:46: J32c71f [INFO] Finishing MemSQL Install 
Waiting for MemSQL to start... 
MemSQL failed to start: Failed to start MemSQL: 

     set_mempolicy: Operation not permitted 
setting membind: Operation not permitted 

Was die möglichen Gründe für die Fehlermeldungen sein kann und auf welche Weise kann ich folgen, um die Ursache herauszufinden oder zu beheben?

+0

Weitere eingraben zu 'Job-logs' und eine entsprechende Fehlermeldung beim Start von Blattknoten passiert finden:' J2f44c7 [WARNUNG] lesen kann nicht tracelog für MemSQL Knoten 636F0213D6DA91A67D67DD3F4554E20B5CC3FAF1, weil es nicht – robert

Antwort

0

Nach einem Tag Suche auf Google, ich glaube, ich schließlich die Ursache für diesen Fehler lokalisieren. Ich fühle mich seltsam, warum niemand vorher gefragt hat, denn es sollte öfter passieren als nur ich.

Der eigentliche Grund für dieses Problem ist ich installiert numactl Paket pro MemSQL-Best-Practice-Vorschlag auf einem Nicht-NUMA-Maschine. Dies würde effektiv den Memsql-Knoten anders als die erste versuchen, numactl Unter-Befehl set_mempolicy zu binden einzelne MemSQL-Knoten zu CPUs ausführen, aber dieser Befehl würde schließlich fehlschlägt. Und der Start des Knotens durch die Unterbefehle memsql-start oder memsql-deploy von memsql-ops wird alle fehlschlagen.

Die Problemumgehung ist sehr einfach, nur entfernen das Paket numactl. Dann wird alles gut. Diese Problemumgehung gilt insbesondere für einige virtualisierungsbasierte memsql-Bereitstellungen wie Docker.

0

Können Sie versuchen, auf den Master:

memsql-ops start 
memsql-ops memsql-deploy --role master -P 3306 --community-edition 

Auf dem Agenten:

memsql-ops start 
memsql-ops follow -h <host of primary agent> -P <port of primary agent if configured to use one> 
memsql-ops memsql-deploy --role leaf -P 3308 --community-edition 
+0

nicht exist' Sowohl 'master 'und' leaf' sind auf demselben Host. Muss ich 'follow' prior' memsql-deploy' noch ausführen? – robert

+0

@robert glaube ich so –

+0

obwohl ich bezweifelte, aber ich habe es versucht. Ausgelaufener Agent kann sich nicht selbst folgen, wenn ich dies auf 'primary'-Agent-Box mache, die auch der' Master' von memsql ist. Ich glaube, wir können nur einen memsql-Agenten pro Host haben, aber wir können einen oder mehrere Knoten pro memsql-Host haben. Es sollte andere Ursachen für mein Problem geben. Vielen Dank. – robert

Verwandte Themen