DC/OS(1.8.7)マラソンでApache Igniteを設定しようとしていましたが、公式ドキュメントのhttp://apacheignite.gridgain.org/docs/mesos-deploymentを使用していますが、ドキュメントに続いて動作させることができました。主な理由の1つは、cmd:012:sh:java:コマンドが見つかりませんでした。これは、javaがパスにないことを示していますが、マラソンホストでは、少なくとも正規ユーザーのパスでjavaが実際にアクセス可能であることを検証しました。DC/OSマラソン(または他のJavaアプリケーション)でApache Igniteを実行
私は、cmdを実行しようとしているmesos-containerのパスに何らかの形でjavaを追加する必要があると思っていますが、パスやデフォルトの環境変数を設定する方法に関するドキュメントは見つかりませんでした(ignite-メゾスは、作成されるコンテナ内の、タスクにも欠けている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が設定されています(rootアカウントでもMarathonが実行していると思います) –