Hallo liebe Leut,
hänge an einem Problem. Vielleicht könnt ihr mir helfen.
kurz zur Vorgeschichte. Ich habe ein Linux Cluster, auf diesem soll eine verteilte Hadoop Anwendung laufen. (Hadoop ist wahrscheinlich nicht wichtig für das Problem). Kurz gesagt diese Hadoop Anwendung wird als Jar gestartet. Beim Start werden noch classpath Einträge gesetzt. In etwa so habe ich das immer gestartet:
$ java –cp $(hadoop classpath) : /etc/hadoop/*: /opt/application.jar org.yarnbook.Main –jar /opt/application.jar
Diese Classpath einträge waren wichtig weil sich dort die Config Dateien usw befinden.
Nun hat sich das Vorgehen geändert: Nun starte ich auf (ich nenne ihn mal) "HauptHadoopRechner" einen EmbeddedTomcat der eine Website hostet über die ich dann mit ihm kommuniziere. Auf Knopfdruck soll dann die HadoopApplication gestartet werden. Dies habe ich in etwa so realisiert: statt der ursprünglichen Main Methode starte ich einfach einen neuen Thread mit dem Inhalt der alten MainMethode. Also aus dem Container des Tomcats herraus.
Nun was passiert: er findet die Config Dateien des Hadoop Frameworks usw nicht. Also alles was ich früher im Classpath gesetzt habe. Diese Classpath Einträge habe ich auch schon versucht beim Start des EmbeddedTomcat zu setzen. Ohne Erfolg.
Laut Google läuft es wohl darauf hinaus, dass Tomcat eben seinen eigenen Classpath hat, hat wohl was mit Catalina zu tun.
Die einzige mir sinnvoll vorkommende Lösung im Internet war: innerhalb der embeddedtomcat.jar ist catalina enthalten, darin catalina.properties. Dort habe ich versucht den absoluten Pfad zu setzen. Leider ohne Erfolg.
Hat jemand eine Idee für mich.
In jedem Falle schonmal vielen Dank
Gruß Helmut
hänge an einem Problem. Vielleicht könnt ihr mir helfen.
kurz zur Vorgeschichte. Ich habe ein Linux Cluster, auf diesem soll eine verteilte Hadoop Anwendung laufen. (Hadoop ist wahrscheinlich nicht wichtig für das Problem). Kurz gesagt diese Hadoop Anwendung wird als Jar gestartet. Beim Start werden noch classpath Einträge gesetzt. In etwa so habe ich das immer gestartet:
$ java –cp $(hadoop classpath) : /etc/hadoop/*: /opt/application.jar org.yarnbook.Main –jar /opt/application.jar
Diese Classpath einträge waren wichtig weil sich dort die Config Dateien usw befinden.
Nun hat sich das Vorgehen geändert: Nun starte ich auf (ich nenne ihn mal) "HauptHadoopRechner" einen EmbeddedTomcat der eine Website hostet über die ich dann mit ihm kommuniziere. Auf Knopfdruck soll dann die HadoopApplication gestartet werden. Dies habe ich in etwa so realisiert: statt der ursprünglichen Main Methode starte ich einfach einen neuen Thread mit dem Inhalt der alten MainMethode. Also aus dem Container des Tomcats herraus.
Nun was passiert: er findet die Config Dateien des Hadoop Frameworks usw nicht. Also alles was ich früher im Classpath gesetzt habe. Diese Classpath Einträge habe ich auch schon versucht beim Start des EmbeddedTomcat zu setzen. Ohne Erfolg.
Laut Google läuft es wohl darauf hinaus, dass Tomcat eben seinen eigenen Classpath hat, hat wohl was mit Catalina zu tun.
Die einzige mir sinnvoll vorkommende Lösung im Internet war: innerhalb der embeddedtomcat.jar ist catalina enthalten, darin catalina.properties. Dort habe ich versucht den absoluten Pfad zu setzen. Leider ohne Erfolg.
Hat jemand eine Idee für mich.
In jedem Falle schonmal vielen Dank
Gruß Helmut
Zuletzt bearbeitet: