我一直在嘗試在DC/OS(1.8.7)馬拉松上配置Apache Ignite,使用官方文檔http://apacheignite.gridgain.org/docs/mesos-deployment,但缺少一些hacks我避難所在文檔之後無法使其發揮作用。其中一個核心原因似乎是cmd關於DC/OS馬拉松(或任何其他Java應用程序)的Apache Ignite
"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
}
嘗試向'env'添加'PATH',或者使用'java'可執行文件的完整路徑。 –
''JAVA_HOME \ bin'變量應該在'PATH'中登記 –
我已經檢查過,並且java在路徑上以及JAVA_HOME已設置(在根帳戶以及我相信是馬拉松運行的那個) –