Ich benutze hanoop 0.20.2 (ja, es ist eine Legacy-App). Ich habe ein einfaches Master-Slave-Setup mit 2 Knoten. Ich kann das Cluster fein mit JPS Befehl Master starten:Datanode bleibt im Sterben
4513 TaskTracker
4225 DataNode
4116 NameNode
4565 Jps
4329 SecondaryNameNode
4410 JobTracker
Und JPS Befehl Slave:
2409 Jps
2363 TaskTracker
2287 DataNode
Allerdings, wenn ich einen Befehl ausführen, die wie mit hdfs interagiert:
hadoop dfs -ls/
es dauert ein paar Minuten und dann stirbt eines der Daten. im Protokoll der Suche kann ich das sehen, die ein bekannter Fehler ist (the directory is already locked hadoop):
2017-07-05 16:12:59.986 INFO main org.apache.hadoop.hdfs.server.common.Storage - Cannot lock storage /srv/shared/hadoop/dfs/data. The directory is already locked.
Cannot lock storage /srv/shared/hadoop/dfs/data. The directory is already locked.
Ich habe alle Dämonen versucht zu stoppen und dfs/Daten und Formatierung der NameNode löschen. Nachdem ich das getan habe, kann ich den Cluster erneut mit allem starten, aber sobald ich mit hdfs interagiere oder einen MR-Job ausführe, stirbt ein Datenknoten.
Die genauen Schritte, die ich nehme, nach anderen Beiträgen sind: 1. Stoppen Sie alle Daemons 2. dfs/data-Ordern 3. Lauf hadoop NameNode -format 4. Starten Sie alle Daemons
Nicht sicher löschen was ich sonst noch versuchen kann.
Ist '/ srv/shared' ein gemeinsam genutzter Netzwerkordner? Wird es von mehreren Datenknoten gemeinsam genutzt? –
Hallo Remus, ja das ist ein freigegebener eingehängter Ordner. –
Ich bin mir nicht sicher, warum würden Sie einen freigegebenen Ordner für HDFS-Speicher verwenden, aber stellen Sie sicher, ** jeder Datenknoten verwendet einen anderen Ordner auf dem freigegebenen Speicher ** –