2012-03-28 6 views
6

Ich habe Riak auf meinem Mac über Homebrew installiert und möchte einen lokalen Cluster mit drei Knoten einrichten.Ausführen eines Drei-Knoten-Riak-Clusters mit einer Homebrew-Installation

Die basho fast track tutorial basiert jedoch auf einem Source-Build, und soweit ich weiß, werden diese Anweisungen nicht auf meine Homebrew-Installation (z. B. make devrel wird generiert 3 Knoten, aber meine Installation enthält nicht das Makefile).

Ich versuchte 3 Kopien von /usr/local/Cellar/riak machen, mit dem Namen dev1, dev2 und dev3. Dann justiert ich die http, handoff_port und pb_port Einstellungen in devN/1.1.1x86_64/libexec/etc/app.config sowie die Einstellung in -namedevN/1.1.1x86_64/libexec/etc/vm.args (I verwendet 81XX für die Ports durch den Knoten dev1 verwendet, 82XX für die durch den Knoten DEV2 verwendet, usw. Für die Einstellung I -name[email protected] verwendet, [email protected], usw.).

Knoten dev1 kann erfolgreich mit ./dev1/1.1.1x86_64/bin/riak start gestartet werden. Beim Starten von Knoten dev2 mit ./dev2/1.1.1x86_64/bin/riak start beschwert sich riak darüber, dass der Knoten bereits ausgeführt wird.

Wie bekomme ich riak die drei Installationen als separate Knoten zu erkennen?

Antwort

8

Das Problem ist die RUNNER_SCRIPT_DIR Variable in den ./devN/1.1.1x86_64/bin/riak Skripten - Es ist auf /usr/local/Cellar/riak/1.1.1x86_64/libexec/bin in der ursprünglichen Homebrew-Version, die Sie kopiert haben.

Dies wird später im Skript in der ping_node Funktion verwendet (und eigentlich alles andere). Die -name und -setcookie und alle anderen Einstellungen werden aus dem Verzeichnis vm.args in /usr/local/Cellar/riak/1.1.1x86_64/libexec/etc anstelle der Kopien, die Sie gemacht haben, gezogen.

Ändern Sie das in jeder Ihrer Kopien der riak Skript und Sie sollten gut zu gehen.

+4

Danke, Brian. Ich schrieb ein kleines Skript, um die Knoten aus einer Homebrew-Riak-Installation zu erstellen: http://ottopoellath.github.com/blog/2012/04/08/running-a-three-node-riak-cluster-using-a- homebrew-installation/ –

+0

In der neueren Version von riak wird 'RUNNER_SCRIPT_DIR' jetzt in' libexec/lib/env.sh' gesetzt –

Verwandte Themen