stackOverflowで回答するのはこれが初めてです。centos6.3 で jdk1.6.0_32 を使用して MPJExpress-v0_42 をセットアップしましたが、最終的にはすべて問題ないようです。
質問 1: マシンとポートでデーモンに接続できません
これは、デーモンが実行されていない場合に発生する可能性があります。次のようにして試すことができます。
sudo netstat -anp |grep port
ポートがリッスンしているかどうかを確認し、プロセス ID を取得するために 使用できます。
私のマシンではmpjdaemon -boot localhost
、を使用してデーモンを起動した後、sudo netstat -apn |grep 4000
コマンドを使用してポートを確認し、次の結果を取得しました。
tcp 0 0 :::40000 :::* LISTEN 8766/java
tcp 0 0 :::40001 :::* LISTEN 8766/java
ポートはで構成されて$MPJ_HOME/conf/wrap.conf
おり、私の構成は次のとおりです。
#port number for the daemon.
wrapper.app.parameter.2=40001
#Socket Server Port Number.
wrapper.app.parameter.3=40000
また、コマンドを使用しjps -m
て Java デーモン プロセスを取得すると、結果は次のようになります。
8766 MPJDaemon 40001
30850 Jps -m
これは、示さ8766
れているようにプロセス ID であり、デーモン プロセスであり、リスニング ポートです。netstat
MPJDaemon
40001
あなたの質問では、デーモンプロセスに接続できません。以下を実行します。
- ポートを確認する必要があります。を使用してポートが見つからない場合は
netstat
、通常、MPJDaemon is not running
.
- 確かに、jps を使用してプロセスを確認することもできます。プロセスが実行されている可能性がありますが、ポートは別のものです
mpjboot machines
や などのクラスタ コマンドは使用しないでくださいmpjrun.sh -np 2 -dev niodev HelloWorld
。mpjdaemon -boot localhost
現在のマシンをテストするために使用できます。構成が正常で、マシン ファイルに の 1 つの項目を設定してlocalhost
クラスタ コマンドを実行できる場合です。
私が会った他の質問。
質問 2: ant を使用してコンパイルに失敗しました
最初は and を使用MPJ-v0_44.zip
しjdk1.6.0
ましたが、コンパイルできず、エラーになりますProcessBuilder has no method of "interNIO"(something like that)
。ソースコードを分析したところ、JDK のバージョンが少し低いことが原因であると推測されます。JDK のアップグレードは非常に複雑であるという事実を考えると、別の MPJ バージョンを見つけて、mpj-v0_42.zip
問題なくコンパイルできました。
質問 3:mpjdaemon -boot localhost
エラー メッセージは表示されませんが、MPJDeamon は実行されていません。
MPJ_HOME
from .bash_profile
toのような環境変数を設定する.bashrc
と、問題は解決します。どうしてか分かりません。
質問 4: コマンドjps -m
で「MPJDeamon is running」と表示されますが、mpjdaemon -status localhost
「mpjdeamon is not running」と表示されます。
コマンド ( ssh localhost nohup 'jps -m'
)を使用するとjps
、コマンドが見つかりませんと表示されますが、jps を使用すると、コマンドは正常に動作します。たぶん上と同じ質問だと思います。のパス環境変数に jps のパスが設定されていません.bashrc
。したがって、PATH=/jpspath:$PATH
inを 1 行追加すると.bashrc
、すべて正常に動作します。