Show More
@@ -68,13 +68,13 hosts ``host1``-``hostn``. The following steps are then required: | |||||
68 | (:file:`ipcontroller-engine.json`) is located. |
|
68 | (:file:`ipcontroller-engine.json`) is located. | |
69 |
|
69 | |||
70 | At this point, the controller and engines will be connected. By default, the JSON files |
|
70 | At this point, the controller and engines will be connected. By default, the JSON files | |
71 |
created by the controller are put into the :file:`~/ |
|
71 | created by the controller are put into the :file:`~/IPYTHONDIR/profile_default/security` | |
72 | directory. If the engines share a filesystem with the controller, step 2 can be skipped as |
|
72 | directory. If the engines share a filesystem with the controller, step 2 can be skipped as | |
73 | the engines will automatically look at that location. |
|
73 | the engines will automatically look at that location. | |
74 |
|
74 | |||
75 | The final step required to actually use the running controller from a client is to move |
|
75 | The final step required to actually use the running controller from a client is to move | |
76 | the JSON file :file:`ipcontroller-client.json` from ``host0`` to any host where clients |
|
76 | the JSON file :file:`ipcontroller-client.json` from ``host0`` to any host where clients | |
77 |
will be run. If these file are put into the :file:`~/ |
|
77 | will be run. If these file are put into the :file:`~/IPYTHONDIR/profile_default/security` | |
78 | directory of the client's host, they will be found automatically. Otherwise, the full path |
|
78 | directory of the client's host, they will be found automatically. Otherwise, the full path | |
79 | to them has to be passed to the client's constructor. |
|
79 | to them has to be passed to the client's constructor. | |
80 |
|
80 | |||
@@ -97,7 +97,7 controller and engines in the following situations: | |||||
97 | .. note:: |
|
97 | .. note:: | |
98 |
|
98 | |||
99 | Currently :command:`ipcluster` requires that the |
|
99 | Currently :command:`ipcluster` requires that the | |
100 |
:file:`~/ |
|
100 | :file:`~/IPYTHONDIR/profile_<name>/security` directory live on a shared filesystem that is | |
101 | seen by both the controller and engines. If you don't have a shared file |
|
101 | seen by both the controller and engines. If you don't have a shared file | |
102 | system you will need to use :command:`ipcontroller` and |
|
102 | system you will need to use :command:`ipcontroller` and | |
103 | :command:`ipengine` directly. |
|
103 | :command:`ipengine` directly. | |
@@ -486,7 +486,7 the command:: | |||||
486 | $ ipengine |
|
486 | $ ipengine | |
487 |
|
487 | |||
488 | The engines should start and automatically connect to the controller using the |
|
488 | The engines should start and automatically connect to the controller using the | |
489 |
JSON files in :file:`~/ |
|
489 | JSON files in :file:`~/IPYTHONDIR/profile_default/security`. You are now ready to use the | |
490 | controller and engines from IPython. |
|
490 | controller and engines from IPython. | |
491 |
|
491 | |||
492 | .. warning:: |
|
492 | .. warning:: | |
@@ -519,7 +519,7 slightly more complicated, but the underlying ideas are the same: | |||||
519 | # in ipcontroller_config.py |
|
519 | # in ipcontroller_config.py | |
520 | HubFactory.ip = '192.168.1.16' |
|
520 | HubFactory.ip = '192.168.1.16' | |
521 |
|
521 | |||
522 |
2. Copy :file:`ipcontroller-engine.json` from :file:`~/ |
|
522 | 2. Copy :file:`ipcontroller-engine.json` from :file:`~/IPYTHONDIR/profile_<name>/security` on | |
523 | the controller's host to the host where the engines will run. |
|
523 | the controller's host to the host where the engines will run. | |
524 | 3. Use :command:`ipengine` on the engine's hosts to start the engines. |
|
524 | 3. Use :command:`ipengine` on the engine's hosts to start the engines. | |
525 |
|
525 | |||
@@ -527,7 +527,7 The only thing you have to be careful of is to tell :command:`ipengine` where | |||||
527 | the :file:`ipcontroller-engine.json` file is located. There are two ways you |
|
527 | the :file:`ipcontroller-engine.json` file is located. There are two ways you | |
528 | can do this: |
|
528 | can do this: | |
529 |
|
529 | |||
530 |
* Put :file:`ipcontroller-engine.json` in the :file:`~/ |
|
530 | * Put :file:`ipcontroller-engine.json` in the :file:`~/IPYTHONDIR/profile_<name>/security` | |
531 | directory on the engine's host, where it will be found automatically. |
|
531 | directory on the engine's host, where it will be found automatically. | |
532 | * Call :command:`ipengine` with the ``--file=full_path_to_the_file`` |
|
532 | * Call :command:`ipengine` with the ``--file=full_path_to_the_file`` | |
533 | flag. |
|
533 | flag. | |
@@ -539,7 +539,7 The ``file`` flag works like this:: | |||||
539 | .. note:: |
|
539 | .. note:: | |
540 |
|
540 | |||
541 | If the controller's and engine's hosts all have a shared file system |
|
541 | If the controller's and engine's hosts all have a shared file system | |
542 |
(:file:`~/ |
|
542 | (:file:`~/IPYTHONDIR/profile_<name>/security` is the same on all of them), then things | |
543 | will just work! |
|
543 | will just work! | |
544 |
|
544 | |||
545 | SSH Tunnels |
|
545 | SSH Tunnels | |
@@ -596,20 +596,20 the engines. | |||||
596 |
|
596 | |||
597 | [controller.host] $ ipcontroller --ip=192.168.1.16 |
|
597 | [controller.host] $ ipcontroller --ip=192.168.1.16 | |
598 |
|
598 | |||
599 |
[IPControllerApp] Using existing profile dir: u'/Users/me/. |
|
599 | [IPControllerApp] Using existing profile dir: u'/Users/me/.ipython/profile_default' | |
600 | [IPControllerApp] Hub listening on tcp://192.168.1.16:63320 for registration. |
|
600 | [IPControllerApp] Hub listening on tcp://192.168.1.16:63320 for registration. | |
601 | [IPControllerApp] Hub using DB backend: 'IPython.parallel.controller.dictdb.DictDB' |
|
601 | [IPControllerApp] Hub using DB backend: 'IPython.parallel.controller.dictdb.DictDB' | |
602 | [IPControllerApp] hub::created hub |
|
602 | [IPControllerApp] hub::created hub | |
603 |
[IPControllerApp] writing connection info to /Users/me/. |
|
603 | [IPControllerApp] writing connection info to /Users/me/.ipython/profile_default/security/ipcontroller-client.json | |
604 |
[IPControllerApp] writing connection info to /Users/me/. |
|
604 | [IPControllerApp] writing connection info to /Users/me/.ipython/profile_default/security/ipcontroller-engine.json | |
605 | [IPControllerApp] task::using Python leastload Task scheduler |
|
605 | [IPControllerApp] task::using Python leastload Task scheduler | |
606 | [IPControllerApp] Heartmonitor started |
|
606 | [IPControllerApp] Heartmonitor started | |
607 |
[IPControllerApp] Creating pid file: /Users/me/. |
|
607 | [IPControllerApp] Creating pid file: /Users/me/.ipython/profile_default/pid/ipcontroller.pid | |
608 | Scheduler started [leastload] |
|
608 | Scheduler started [leastload] | |
609 |
|
609 | |||
610 | 2. on each engine, fetch the connection file with scp:: |
|
610 | 2. on each engine, fetch the connection file with scp:: | |
611 |
|
611 | |||
612 |
[engine.host.n] $ scp controller.host:. |
|
612 | [engine.host.n] $ scp controller.host:.ipython/profile_default/security/ipcontroller-engine.json ./ | |
613 |
|
613 | |||
614 | .. note:: |
|
614 | .. note:: | |
615 |
|
615 | |||
@@ -631,7 +631,7 A couple of notes: | |||||
631 | then you need not specify its path directly, only the profile (assumes the path exists, |
|
631 | then you need not specify its path directly, only the profile (assumes the path exists, | |
632 | otherwise you must create it first):: |
|
632 | otherwise you must create it first):: | |
633 |
|
633 | |||
634 |
[engine.host.n] $ scp controller.host:. |
|
634 | [engine.host.n] $ scp controller.host:.ipython/profile_default/security/ipcontroller-engine.json ~/.config/ipython/profile_ssh/security/ | |
635 | [engine.host.n] $ ipengine --profile=ssh |
|
635 | [engine.host.n] $ ipengine --profile=ssh | |
636 |
|
636 | |||
637 | Of course, if you fetch the file into the default profile, no arguments must be passed to |
|
637 | Of course, if you fetch the file into the default profile, no arguments must be passed to | |
@@ -673,7 +673,7 Log files | |||||
673 |
|
673 | |||
674 | All of the components of IPython have log files associated with them. |
|
674 | All of the components of IPython have log files associated with them. | |
675 | These log files can be extremely useful in debugging problems with |
|
675 | These log files can be extremely useful in debugging problems with | |
676 |
IPython and can be found in the directory :file:`~/ |
|
676 | IPython and can be found in the directory :file:`~/IPYTHONDIR/profile_<name>/log`. | |
677 | Sending the log files to us will often help us to debug any problems. |
|
677 | Sending the log files to us will often help us to debug any problems. | |
678 |
|
678 | |||
679 |
|
679 |
General Comments 0
You need to be logged in to leave comments.
Login now