mpiexec hangs for remote execution - amazon-ec2

I have two EC2 instances.
Ubuntu 12.04 running OpenMPI 1.4.3
Ubuntu 14.04 running OpenMPI 1.6.5
I run this command:
mpiexec --hostfile machines ls
where "machines" is a file that contains the IP address of the other server that the command is being run on. Every time, it hangs indefinitely. When I replace the IP address with the server that the command is being run on, it works fine. I can password-less ssh between machines fine.
I tried having the same version of MPI on both machines, but could not get that to work. apt-get installs different versions on both machines for some reason.
What can I do to make MPI work between machines?

Related

Fabric-Composer on Windows 10 linux sub system?

Has anyone succeeded in running fabric-composer on windows 10 linux sub-system running ubuntu 16.04 ?
You can run composer on windows 10 WSL (windows Subsystem for linux) but you will not be able to run docker containers in it. Linux Docker containers require a linux kernel and WSL doesn't have a linux kernel. It is a clever piece of technology that converts user space Linux API calls dynamically to windows API calls.
Therefore you will have to run hyperledger fabric either by using docker for windows (which runs it for you in hyper-v) or you run your own hypervisor.
It is possible to have the docker commands run in WSL but it will need to configure it to interact with the docker daemon running inside a hypervisor.
Yes, you can use Hyperledger-fabric-composer on windows 10, but as david said in above answer you will not be able to run docker containers directly from Ubuntu sub-system.
To do that you have to do following things:
METHOD:- 1
You will need to install docker CE Client & docker-compose in Ubuntu Subsystem and install Docker(version v17.09) on Windows as well. But those dockers won’t connect together out of the box.
So you need to expose the daemon to port 2375 first by right-clicking the docker icon on task-bar then click setting then check the Expose daemon box.
Now the docker server will be able to connect via Windows network including Ubuntu subsystem. We need to set environment variables in Ubuntu by running below command:
echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.bashrc
source ~/.bashrc
These commands will add DOCKER_HOST to the variables every time we start a new Bash.
METHOD:- 2
If you don't want to use ubuntu sub-system, then you can simply install Git Bash and Docker(version v17.09).
Then install Hyperledger-Fabric by using Git Bash.

How to keep running vagrant machine after restart

I have created a vagrant machine which is using the LAMP. So, every time I restart the computer I have to use vagrant up to run VM. Is this possible to keep running vagrant machine so when I restart the computer it should remain running in the background? As to keep running Docker container we use -d to detach it with the process. Is this possible in Vagrant?

Docker can not run on Windows 10 linux child system

I just install the Windows 10 Anniversary update which has a new feature that linux child system. So I try to run docker in Windows 10 ubuntu bash(linux child system). Why I want to install docker in linux child system is because:
Windows 10 native docker 1.12 need Hyper-V, but Vmware couldn't run if Hyper-V enable. I have a lot images created by Vmware, it isn't so easy to switch to Hyper-v
I don't want to use Docker Toolbox, it need install VirtualBox, just redunant.
apt-get is fine, docker install success, but fail to start.
$ sudo service docker start
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
* Starting Docker: docker [ OK ]
$ docker ps
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
I have seen this post can-you-run-docker-natively-on-the-new-windows-10-ubuntu-bash-userspace, some people says that it is no posible to run docker in such linux child system, but there also some contrary opinions.
So, I want to ask is there any way to walk around this? Or I have to wait MS update this child system(since it is still beta now).
You have two Problems in there:
the linux child system does not provide the upstart service like e.g. ubuntu. You can work around this by running the docker deamon directly in foreground with docker daemon ...
This does nearly shure not work because docker requires features of the linux kernel like namespaces and capabilities. I don't think the NT-Kernel does implement such exotic features.

mpiexec: unable to start all procs; may have invalid machine names

I am new to MPI and MPICH.
I have installed mpich on two machines having : Ubuntu 10.04.2 LTS.
mpicc -v has version 1.2.1p1.
I have added entries in /etc/hosts for both client and master in both machines.
Added SSH configurations for passwordless remote ssh.
While running command :
mpiexec -np 3 -host master ./a.out : -np 3 -host client ./a.out
The system responds with
mpiexec: unable to start all procs; may have invalid machine names
remaining specified hosts:
107.109.110.219 (master)
107.108.87.33 (client)
Request you to please suggest if something is wrong.
You need to specify the host file for the MPI implementation as well. For OpenMPI you can have a look at the following page:
https://www.open-mpi.org/faq/?category=running#mpirun-hostfile
Here it is described how to set it up. I have linked the OpenMPI one because it is more clear. Here you can find a tutorial that uses MPICH and explains how to set up the host file:
http://mpitutorial.com/tutorials/mpi-hello-world/
I installed mpich initially by apt-get. I think this caused the stated problem.
To Fix I did following and it fixed the problem :
Uninstalled the mpich installed via apt-get.
Downloaded and compiled mpich v3.2 source as per steps of mpich user guide.
After this , one of the machines had a problem of missing libudev.so.0, as a temporary solution , installed libudev.so.1 and soft linked libudev.so.0 to it.
After these 3 steps, mpiexec is running properly for machines.

How to install ansible-playbook on windows as host with vagrant

I am trying to orchestrate server with LEMP stack and other configuration. For this I'm using vagrant to up(manage) servers and Ansible for auto configuration and package installations. I'm using windows as host machine where ansible need to be installed and all *Nix machine would be guest which are going to be configured.
With pip I have successfully installed ansible in C:\Python27\Scripts
I am facing Problem in running ansible and ansible-playbook on windows. If any one has done this for windows machine, Please share article or way to accomplish.
http://www.azavea.com/blogs/labs/2014/10/running-vagrant-with-ansible-provisioning-on-windows/
I had gone through above article but its not working, Error
==> default: Running provisioner: ansible...
zsh:1: no such file or directory: /bin/ansible-playbook
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.
In *Nix as guest all working excellent. But looking for support to do same in windows machine.
Using windows as the control machine is not supported. But you can have a pleasant experience using docker with boot2docker.
This will install a virtualbox VM guest on the windows machine, which you will be able to use to configure you vagrant boxes, for which you will have to configure the networking properly.
You can achieve this with cygwin. For scripts to do this have a look at:
https://github.com/taliesins/win-ansible
As an added bonus it adds the shims required to use Ansible from windows command prompt and from Vagrant.
From the documentation:
Currently Ansible can be run from any machine with Python 2 (version 2.7) or Python 3 (versions 3.5 and higher) installed. Windows isn’t supported for the control machine.
Generally speaking, if you are using a Windows host, you have 3 options. Listed in order of (my) preference:
Run Ansible from a Docker container
Run Ansible from WSL (if you're running on Windows 10). This Gist can help you with some further setup so that you don't have to invoke WSL to run Ansible.
Run Ansible from Cygwin

Resources