情報はほとんどありません。したがって、この回答は100%役に立たないかもしれません。
常に考慮する最初の問題は、リモートマシンのライセンスです。いくつかのカーネルが起動しても、起動していないカーネルがあれば、そのマシンのカーネルのライセンスを使い果たした可能性があります。この記事の残りの部分では、ライセンスは問題ではないと見なされます。
接続方法
デフォルトでMathematicaのでのリモートカーネルインターフェースはRSHは非常にセキュアなプロトコルではないため、多くの環境のための正しい選択ではないRSHプロトコルを、前提としています。
他のオプションは、はるかに広くサポートされているsshです。 sshクライアントが多数ありますが、Mathematicaに含まれるクライアント、つまりWolframSSH.jarに焦点を当てます。このクライアントはJavaベースで、Mathematica(Mac、Window、Linux)でサポートされているすべてのプラットフォームで同じように動作するという利点があります。
カーネル接続ごとにパスワードを入力する必要がないように、秘密鍵と公開鍵のペアを作成すると便利です。秘密鍵はコンピュータに残り、公開鍵はリモートコンピュータ(通常はリモートホームディレクトリの.sshフォルダ)に配置する必要があります。
あなたがそうのように、WolframSSHKeyGen.jarファイルを使用することができ、公開鍵/秘密鍵のペアを生成するには:
java -jar c:\path\to\mathematica\SystemFiles\Java\WolframSSHKeyGen.jar
と出てくるダイアログの指示に従います。完了したら、公開鍵をにコピーしてください。リモートマシン上のsshフォルダ 。私の場合、私はkernel_key
とkernel_key.pub
という名前のキーを自動的にその方法で指定しました。
あなたは今(リモートマシン上ls
コマンドを使用して)そのように、コマンドラインからの接続をテストすることができます。
java -jar c:\path\to\mathematica\SystemFiles\Java\WolframSSH.jar --keyfile kernel_key [email protected] ls
これが動作する場合、あなたはのMathematicaの側に仕上げることができるはずですもの。
次の設定を必要とする接続を行うためにリモートカーネル接続
、リモートマシンの名前:
machine = "machine.example.com";
ログイン名、通常は$ユーザー名:
user = $UserName;
sshバイナリの場所:
ssh = FileNameJoin[{$InstallationDirectory, "SystemFiles", "Java", "WolframSSH.jar"}];
前述したように、秘密鍵:
privatekey = "c:\\users\\arnoudb\\kernel_key";
起動コマンドカーネル用:一緒にすべてを入れて
math = "math -mathlink -linkmode Connect `4` -linkname `2` -subkernel -noinit >& /dev/null &";
設定機能:
ConfigureKernel[machine_, user_, ssh_, privatekey_, math_, number_] :=
SubKernels`RemoteKernels`RemoteMachine[
machine,
"java -jar \"" <> ssh <> "\" --keyfile \"" <> privatekey <> "\" " <> user <> "@" <> machine <> " \"" <> math <> "\"", number]
これは使用しています4つのリモートカーネルを使用するように定義しています。
remote = ConfigureKernel[machine, user, ssh, privatekey, math, 4]
これはカーネルを起動する:
LaunchKernels[remote]
カーネルは、すべての接続とリモートされている場合、このコマンドは確認する:
ParallelEvaluate[$MachineName]
ところで、これはMathematicaの7で動作するように使用のMathematica 8、で発生 – Ivan
誰かがこの問題を確認したか、または複製しましたか? –
これは動作しないことが確認できます。 Mathematica 8.0.1でリモートカーネルインターフェースを使って自分のローカルカーネルに接続しようとしたところ、同じエラーメッセージで失敗した。 –