我一直在尝试使用http://apacheignite.gridgain.org/docs/mesos-deployment上的官方文档在DC / OS(1.8.7)马拉松上配置Apache Ignite但是我没有能够让它在文档。其中一个核心原因似乎是cmd
"cmd": "java -jar ignite-mesos-1.8.0.jar"
将通过错误“sh:java:command not found”。这表明java不在路径中但在马拉松主机上我已经验证了java实际上至少可以在我的普通用户的路径上访问。
我怀疑java需要添加到试图运行cmd的mesos-container路径中,但我无法找到有关如何设置路径或默认环境变量的任何文档(ignite-mesos)在创建的容器中生成需要JAVA_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
}
答案 0 :(得分:1)
Ignite似乎期望在每个代理节点上安装JDK 1.7 / 1.8,并相应地设置JAVA_HOME
环境变量。
不幸的是,Mesos框架似乎没有得到很好的维护,因为它仍然使用Mesos 0.22库。