我一直在尝试使用官方文档在dc/os(1.8.7)marathon上配置apacheignitehttp://apacheignite.gridgain.org/docs/mesos-deployment 但除了一些黑客,我还没能让它按照文件工作。其中一个核心原因似乎是
"cmd": "java -jar ignite-mesos-1.8.0.jar"
将出现错误“sh:java:command not found”。这表明java不在路径中,但在marathon主机上,我已经验证了java实际上至少在我的普通用户的路径上是可访问的。
我怀疑java需要添加到mesos容器的路径中,而mesos容器正试图运行cmd,但是我找不到任何关于如何在创建的容器中设置路径或默认环境变量(ignite mesos生成需要java\u home设置的任务,这在任务中也丢失)的文档。作为参考,我的marathon.json文件如下。。。
{
"id": "/ignition",
"cmd": "java -jar ignite-mesos-1.8.0.jar",
"args": null,
"user": null,
"env": {
"IGNITE_MEMORY_PER_NODE": "2048",
"IGNITE_NODE_COUNT": "3",
"IGNITE_VERSION": "1.8.0",
"MESOS_MASTER_URL": "zk://master.mesos:2181/mesos",
"IGNITE_RUN_CPU_PER_NODE": "0.1"
},
"instances": 0,
"cpus": 0.25,
"mem": 2048,
"disk": 0,
"gpus": 0,
"executor": null,
"constraints": null,
"fetch": [
{
"uri": "http://SERVER_HERE/ignite-mesos-1.8.0.jar"
}
],
"storeUrls": null,
"backoffSeconds": 1,
"backoffFactor": 1.15,
"maxLaunchDelaySeconds": 3600,
"container": null,
"healthChecks": null,
"readinessChecks": null,
"dependencies": null,
"upgradeStrategy": {
"minimumHealthCapacity": 1,
"maximumOverCapacity": 1
},
"labels": {
"HAPROXY_GROUP": "external"
},
"acceptedResourceRoles": null,
"ipAddress": null,
"residency": null,
"secrets": null,
"taskKillGracePeriodSeconds": null,
"portDefinitions": [
{
"protocol": "tcp",
"port": 10108
}
],
"requirePorts": false
}
1条答案
按热度按时间drnojrws1#
ignite似乎希望在每个代理节点上安装JDK1.7/1.8,并且
JAVA_HOME
相应地设置环境变量。不幸的是,mesos框架似乎没有得到很好的维护,因为它仍然使用mesos0.22库。