Probleme, die versuchen, FUSE unter Bluemix zu verwenden
Ich suchte nach einer Möglichkeit, ein Remote-Dateisystem hinzuzufügen, auf das in Bluemix zugegriffen werden kann. In diesemPos Mir wurde gesagt, dass ich den cflinuxfs2-Stack verwenden soll, der in den letzten Versionen von Cloud Foundry unterstützt wird.
Ich konnte den Befehl mkdir für den Einhängepunkt in meiner Java-App ausführen und den Befehl sshfs ausführen, aber dieser letzte Befehl schlägt fehl mit: "read: Connection reset by peer".
Der Punkt ist, dass die gleichen Befehle, die in einer Linux-Box zu Hause verwendet werden, gut funktionieren, so dass ich den Befehl, den SSH-Schlüssel und die bekannten Hosts-Dateien verstehe.
Dies ist der Java EE-Code, der in Liberty Runtime in Bluemix bereitgestellt wird:
String s = null;
Process p = null;
BufferedReader br = null;
try
{
p = Runtime.getRuntime().exec("mkdir -p /home/vcap/misc");
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while((s = br.readLine()) != null)
System.out.println("line: " + s);
p.waitFor();
System.out.println ("#### Executing command mkdir with exit: " + p.exitValue());
p.destroy();
br.close();
p = Runtime.getRuntime().exec("sshfs [email protected]:/ /home/vcap/misc -o IdentityFile=/home/vcap/app/wlp/usr/servers/defaultServer/apps/myapp.ear/cloud.key -o StrictHostKeyChecking=yes -o UserKnownHostsFile=/home/vcap/app/wlp/usr/servers/defaultServer/apps/myapp.ear/known_hosts -o idmap=user -o compression=no -o sshfs_debug");
br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while((s = br.readLine()) != null)
System.out.println("line: " + s);
p.waitFor();
System.out.println ("#### Executing command sshfs with exit: " + p.exitValue());
p.destroy();
br.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
catch(InterruptedException ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(br != null)
br.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
Referenzierte Dateien in den Befehlen werden in die EAR-Datei aufgenommen und als Teil der App übertragen. Ich kann sie und ihren Inhalt vom Bluemix-Dashboard aus im Dateisystem durchsuchen sehen.
Browsing das Web, fand ich Tonnen von Post über Fehlermeldung: "Lesen: Verbindung von Peer zurückgesetzt", aber es scheint, dass sie nicht auf meinen Fall zutreffen, oder sie beziehen sich auf Firewalls und Konfigurationsdateien, auf die ich in Bluemix keinen Zugriff habe. Und wie gesagt, die gleichen zwei Befehle, die in meiner Linux-Box zu Hause ausgeführt werden, funktionieren einwandfrei.
Idee Idee oder Empfehlung, um es zum Laufen zu bringen? Hat jemand diese Idee schon einmal in Bluemix getestet?
Vielen Dank