我正在尝试使用marathon在mesos集群上部署一个测试java程序。我已经用所有必需的jar和配置文件创建了一个tar球。tar还有一个cmd.sh启动应用程序。cmd.sh代码段
chmod a+rx *.jar
java -ea -Dlog4j.configuration="file:./log4j.prod.properties" -cp my-app-0.1-SNAPSHOT.jar:lib/* package.name.main.class.name
这个tar是作为uri提供的。我可以在日志文件中看到tar被正确下载和解包。但是执行失败了
I0331 23:00:35.135365 30558 exec.cpp:134] Version: 0.27.1
I0331 23:00:35.137852 30588 exec.cpp:208] Executor registered on slave 11aaafce-f12f-4aa8-9e5c-200b2a657225-S1
./cmd.sh: line 5: java: command not found
你知道为什么找不到java吗?我没有使用任何定制容器。我设置的参数只有id、cpu、mem、instance、uri和cmd=cmd.sh
这是运行java应用程序的推荐方式吗?我的java程序是无状态的(使用zookeeper作为状态),我打算运行这个应用程序的几个示例。请随时建议启动或部署此类应用程序的其他方法。
1条答案
按热度按时间3j86kqsm1#
请检查运行sh-c和从tar运行的路径。