2017-01-10 4 views
0

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 
} 
+0

'env'に'​​ PATH'を追加するか、 'java'実行可能ファイルへのフルパスを使用してください。 –

+0

また、 '$ JAVA_HOME \ bin'変数は' PATH'に登録されていなければなりません –

+0

私がチェックしたところにjavaがあり、JAVA_HOMEが設定されています(rootアカウントでもMarathonが実行していると思います) –

答えて

1

のIgniteは、各エージェント・ノード上のJDK 1.7/1.8のインストール、およびそれに応じて設定JAVA_HOME環境変数を期待しているようです。

残念ながら、Mesosフレームワークはまだメゾス0.22ライブラリを使用しているため、メンテナンスされていないようです。

+0

各エージェントノードにJAVA_HOMEが設定されているように見えます。 Mesosのフレームワークがうまく維持されていないと言うと、具体的にはIgniteの実装を意味しますか? –

+0

はい、Igniteフレームワーク...かなり古いMesosライブラリバージョンを使用しています。私が意図したことは、あなたが手動で各エージェントにJDKを手動でインストールする必要があることです。 – Tobi

+0

上記のコメントで指摘したように、新しいMesosバージョンでも動作するかどうか100%確信していません – Tobi