Mongodb installieren

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi,

    ich habe nach folgender Anleitung versucht, MongoDB auf meinem Raspberry zu installieren:
    http://c-mobberley.com/wordpress/2013…-working-guide/

    Das hat auch alles wunderbar funktioniert, nur will die DB nicht starten...
    Wenn ich dies mit
    sudo /etc/init.d/mongod start
    versuche, bekomme ich als Fehlermeldung
    Could not find /usr/bin/mongod
    Okay, Verzeichnis nicht vorhanden, dann leg es doch mal an... :)
    mkdir /usr/bin/mongod
    gibt
    mkdir: kann Verzeichnis /usr/bin/mongod nicht anlegen: Die Datei existiert bereits

    Was mache ich falsch?

    Danke für jeden Hinweis.

    Grüße und schönes WE,
    Andreas

  • /usr/bin/mongod ist wohl kaum ein Verzeichnis sondern dein auszuführender Deamon und der wird wohl schon vorhanden sein. Ist er?
    ls -la /usr/bin/mogod gibt was aus?

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Hi,

    ja, den Befehl habe ich eingegeben und

    ls -la /usr/bin/mogod

    liefert

    lrwxrwxrwx 1 root root 21 Apr 4 17:25 /usr/bin/mongod -> /opt/mongo/bin/mongod

    Wenn ich die Anleitung richtig verstanden habe, habe ich mittels sudo adduser einen neuen Benutzer erstellt. Kann es sein, dass dieser Benutzer den Deamon noch nicht sieht? Und wenn ja, wie kann ich das ändern?

    Danke schon mal für die Antworten und weiterhin schönes Wochenende,
    Andreas

  • Hm, ist vermutlich ein Rechteproblem?
    Der Link hat ja schon mal die richtigen Rechte, jetzt muss /opt/*****/bin/mongod noch durch root ausführbar sein, denn normalerweise wird der daemon beim hochfahren durch root gestartet, aber auch das sollte ok sein, tippe ich mal...

    Ist vielleicht in dem mongod-Skript ein Fehler... Kannst du das mal posten, pls?


  • Hast du den Befehl

    Code
    sudo ln -s /opt/*****/bin/mongod /usr/bin/mongod


    wirklich ausgeführt?

    PS: Admin
    Wieso wird "m o n g o" mit sternen kaschiert???

    :stumm::angel::s:wallbash:
    Da schlägt vermutlich die Tugendwächter-Blacklist politisch inkorrekter Wörter der Foren-SW zu,
    weil sie den Datenbanknamen für eine Injurie hält, die den Adressaten als Trisomie-21-Geschädigten abqualifiziert.

    Dabei liegt vermutlich den Namesgebern der DB nichts ferner als solche Assoziation,
    denn der Name bezieht sich, soweit ich weiss, auf das englische h u m o n g o u s.

    Versucht doch mal irgendwelche anderen Schimpfwörter einzugeben.
    Schon im Preview erscheinen die meisten ausgesternt.

  • Hi,

    ich bin leider absoluter Laie, was Linux angeht. Daher bräuchte ich genauere Informationen, welches Skript du haben möchtest. Unter /opt/m o n g o/bin/mongod finde ich kein Skript. Kann dies schon das Problem sein? Wenn ja, welches Skript muss ich dahin kopieren?

    Danke für die Geduld und Hilfe!!!

    Grüße,
    Andreas

  • mach mal

    Code
    ls -la /opt/m ongo/bin/

    Warum willst du eigentlich einen Exoten (imho) installieren?

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.


  • Warum willst du eigentlich einen Exoten (imho) installieren?

    m ongodb ist längst kein Exot mehr.

    Es gibt viele gute Gründe, auf eine relationale DB zu verzichten.

    Z.B. konnen die Daten, die man mit einer NoSQL bzw. document oriented DB erfassen will,
    sich nur mit grossen Mühen in ein relationales DB Schema zwängen lassen.
    Z.B. auch, weil man im Voraus gar nicht weiss, mit welchen Feldern man es evtl. bei seinen Daten zu tun hat.

    Man erspart sich die ganze relationale Normalisierungsarie und braucht sich kein Schema aus den Fingern zu saugen.

    Man benötigt keine speziellen DB Clients bzw. Libraries oder Client API,
    um auf die Daten aus einem Programm/Skript zuzugreifen.
    Ein HTTP Client reicht völlig aus.
    Zudem bieten die meisten NoSQL DBs eine REST Schnittstelle und die Daten sind in JSON abgreifbar.
    Es sind also keine SQL Queries nötig bzw. wird kein ORM benötigt,
    um die Daten gleich in der passenden Struktur seiner Programmiersprache zu haben.

    Sicher gibt's noch weitere gute Gründe für so eine DB,
    die mir als Gelegenheitsskripter jetzt gar nicht einfallen können.

  • Hi,

    ls -la /opt/m ongo/bin/

    liefert
    Zugriff auf /opt/m ongo/bin/ nicht möglich: Datei oder Verzeichnis nicht gefunden.

    Daraus schlussfolgere ich jetzt, dass das Skript, auf das der Link, der über den Befehl

    sudo ln -s /opt/m ongo/bin/mongod /usr/bin/mongod

    erstellt wurde, nicht existiert. Nur wie soll dieses Skript aussehen?

    Danke für die Antworten und Grüße,
    Andreas


  • ls -la /opt/m ongo/bin/

    liefert
    Zugriff auf /opt/m ongo/bin/ nicht möglich: Datei oder Verzeichnis nicht gefunden.

    Hast Du das als root abgesetzt?

    Vermutlich hat ein preinstall script des deb package einen user m\ongodb
    (Backslash muss nicht eingegeben werden und dient hier und im folgenden, nur die swear word blacklist der Foren SW auszutricksen)
    o.ä. angelegt, dessen HOME möglicherweise /opt/m\ongo und das nur rwx bits für den owner m\ongo gesetzt hat,
    so dass jedes ls eines non-root user, das darüber hinaus tiefer reicht, verwehrt wird,
    selbst, wenn der user volle Rechte auf irgendewelchen subdirs darunter haben sollte,
    solange keine darin auch vorhandene Datei angegeben wird.

    Nur interessehalber, was zeigen folgende Kommandos als root abgesetzt?

    Code
    # ls -ld /opt/m\ongo
    
    
    # ls -lL /usr/sbin/m\ongod
    
    
    # ls -l /opt/m\ongo/bin/m\ongod
    
    
    # getent passwd m\ongodb
  • Ich vermute mal dass dann dieser Schritt schon schiefgegangen ist:

    Code
    sudo scons --prefix=/opt/m ongo install

    Exsitiert das Verzeichnis?

    Wenn nein - evtl. per Hand anlegen und den Schritt wiederholen.
    Oder zumindest mal auf Fehlermeldungen der SChritte davor aufpassen...

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Hi,

    wenn ich das Verzeichnis /opt/m ongo komplett lösche, müsste ich doch ohne Problem das ganze erneut kompilieren können, oder?

    Wenn ja, werde ich das mal versuchen und schauen, ob der Server dann startet...

    Die genannten Befehle werde ich vorher absetzen und posten, was die ergeben haben und ja, ich habe alle Befehle als root (Nutzer pi) abgesetzt.

    Grüße,
    Andreas

  • Hi,

    Entschuldigung das die Antworten ein wenig auf sich warten ließen, aber in den letzten Tagen habe ich keine Zeit gefunden, mich um meinen Raspberry zu kümmern.

    ls -ld /opt/m\ongo liefert Zugriff auf /opt/m\ongo nicht möglich Datei oder Verzeichnis nicht gefunden

    ls -lL /usr/sbin/m\ongod liefert Zugriff auf /usr/sbin/m\ongod nicht möglich Datei oder Verzeichnis nicht gefunden

    ls -l /opt/m\ongo/bin/m\ongod liefert auch Zugriff auf /opt/mongo/bin/mongod nicht möglich Datei oder Verzeichnis nicht gefunden

    getent passwd m\ongodb liefert mongodb:x:114:65534:,,,:/share/mongodb:/etc/false

    Was macht genau der letzte Befehl? Und da scheint wirklich grundlegend etwas schiefgegangen zu sein, denn die abgefragten Verzeichnisse sollten doch eigentlich vorhanden sein...

    Grüße,
    Andreas

  • Moin,

    Wie häufig müssen dir die Befehle noch sagen, das die Datei(en) nicht da sind?

    Wenn du ls -la /opt machst gibt es da ein Verzeichnis m0ngo?
    und wenn du ls -la /usr/sbin machst ist dann das ein m0ngo zu sehen?

    vermutlich nicht. Also hast du schon beim abarbeiten der Schritte aus dem Tut ein Fehler gemacht oder auf Fehler nicht reagiert.

    Und wenn du mal "man getent" eintippst siehst du auch was der letzte Befehl macht.

    Gruß Lunepi

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!