来源

http://www.open-mpi.org/

网络连接

SSH连接,保证各台机器之间可以无密码登陆,此处不展开

hosts文件如下

 #/etc/hosts
192.168.0.190 master
192.168.0.189 slave1
192.168.0.81 slave2
192.168.0.105 slave3
192.168.0.120 slave4

安装第一步

./configure --prefix=/home/hadoop/openmpi_install

注:prefix后面是安装路径

可能会出现configure失败,请参考以下软件是否安装(最好提示错误说缺了什么再装,不要都装了,这样更能了解真正需要哪些依赖)

 sudo apt-get install build-essential(g++,gcc)
sudo apt-get install libibverbs-dev
sudo apt-get install libibmad-dev
sudo apt-get install libibumad-dev
sudo apt-get install byacc

安装第二步

make

安装第三步

make install

注:这条命令运行之后会真正往目标文件夹安装,如果想卸载,直接将安装目标文件夹删了就ok,这就是用prefix配置项的原因

配置环境变量

 #vim ~/.bashrc
export MPI_HOME=/home/hadoop/openmpi_install
export PATH=$MPI_HOME/bin:$PATH
export LD_LIBRARY_PATH=$MPI_HOME/lib
export MANPATH=$MPI_HOME/share/man
#source ~/.bashrc

本机运行结果

 mpicc hello_c.c -o hello.exe

注:examples在编译文件夹中可以看到,看到此结果说明本机安装已经完成,但是集群安装在ubuntu不能运行,老显示orted不能找到,经排查是环境变量的设置,具体设置如下

集群环境变量设置(/etc/environment)

 #/etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hadoop/openmpi_install/bin"
LD_LIBRARY_PATH=/home/hadoop/openmpi_install/lib

然后运行就ok了,集群运行结果如下

注:机器名为:slave1-4,master(每台机器上都要有运行文件hello.exe),每次复制很麻烦,所以之后要弄个文件共享系统,接下来讲讲如何简便安装nfs

NFS文件系统安装

首先各台机器安装nfs(这里把slave1当作宿主机)

 sudo apt-get install nfs-kernel-server

宿主机修改/etc/exports文件,配置

 #注意*前有空格,*后没有空格,否则出现权限问题
/home/hadoop/share_directory *(rw,async,no_root_squash)

/home/hadoop/share_directory  -- 与客户机共享的目录;
* ,表示允许任意用户使用,也可以使用具体IP;
rw,挂载此目录的客户机对此目录有读写权利;
async,暂存于内存中异步写入,加快速度(如果频繁需要读取并且要同步要设为sync);
no_root_squash,挂载此目录的客户机享有主机root的权利;

宿主机保存后使配置文件生效

 #使配置文件生效
exportfs -rv
#重启nfs服务
sudo /etc/init.d/nfs-kernel-server restart

目标机(要挂载的机子)

建一个一样的目录

 sudo mkdir /home/hadoop/share_directrory

根据IP挂载

  sudo mount -onolock 192.168.0.189:/home/hadoop/share_directory /home/hadoop/share_directory

不要了就直接umount

 sudo umount /home/hadoop/share_directory

查询是否mount成功(看倒数第二行)

然后试着创建文件写入之类看有没有权限,没有错误就安装成功了

NFS文件系统下运行openmpi

(不用复制那么麻烦了。。。。)

到此安装结束,可能每个人环境会有所差别,所以我仅是把自己成功安装案例写出来,欢迎评论区指出错误

Openmpi 编译安装+集群配置 + Ubuntu14.04 + SSH无密码连接 + NFS共享文件系统的更多相关文章

  1. elk安装&集群配置

    ---恢复内容开始--- 这里我用以elasticsearch-5.3.2.kibana-5.3.0.logstash-5.3.0的版本为例: 1.创建elastic用户,这里elasticsearc ...

  2. Hadoop集群配置免密SSH登录方法

    Hadoop集群包含1个主节点和3个从节点,需要实现各节点之间的免密码登录,下面介绍具体的实现方法. 一.Hadoop集群环境 二.免密登录原理 每台主机authorized_keys文件里面包含的主 ...

  3. Rhel6-mpich2 hpc集群配置文档

    系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.121 server21.example.com 192.168.12 ...

  4. Centos6 安装 Redis 和集群配置

    Redis安装 先确认gcc和tcl已经安装 sudo yum install gcc-c++ sudo yum install tcl 解压, 编译和安装 .tar.gz /usr/src/ cd ...

  5. Ubuntu_10.04下Hadoop-0.20.2集群配置手册

    Ubuntu_10.04下Hadoop-0.20.2集群配置手册 一.软硬件环境的准备 下面的文章来自hadoopor.com,我先交待一下我自己的环境: 两台机器,每台机器上面两个虚机(vmware ...

  6. 安装rabbitmq以及集群配置

    前言: (一些有用没用的唠叨,反正看了也不少肉,跳过也没啥) 情况是这样的:虚拟机.CentOS 6.5.免编译包安装rabbitmq集群,可不用连外网. 我原计划是安装在虚拟机上wyt1/wyt2/ ...

  7. Linux系统下安装Redis和Redis集群配置

    Linux系统下安装Redis和Redis集群配置 一. 下载.安装.配置环境: 1.1.>官网下载地址: https://redis.io/download (本人下载的是3.2.8版本:re ...

  8. java:redis(redis安装配置,redis的伪集群配置)

    1.redis安装配置: .安装gcc : yum install gcc-c++ .使用FTP工具FileZilla上传redis安装包到linux根目录下(当前步骤可以替换为:在root目录下执行 ...

  9. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

随机推荐

  1. gprof参数说明及常见错误

    参数说明 l -b 不再输出统计图表中每个字段的详细描述. l -p 只输出函数的调用图(Call graph的那部分信息). l -q 只输出函数的时间消耗列表. l -e Name 不再输出函数N ...

  2. C++中inline这个玩意儿

    inline 说明这个函数是内联的,在编译过程中内联函数会直接被源代码替换,提高执行效率 如果类中的某个函数会被调用很多次或者放在循环中,那么建议将这个函数声明为内联,可以提高程序的运行效率

  3. Windows Phone7 快递查询

        (1)API去友商100里申请 布局代码: Exp.xaml <phone:PhoneApplicationPage x:Class="WindowsPhone_Express ...

  4. vim molokai配色方案(调过)

    " Vim color file " " Author: Tomas Restrepo <tomas@winterdom.com> " " ...

  5. JavaScript_解决safari浏览器window.open无法实现的问题

    解决 safari window.open 无法实现的问题 先说下问题是什么吧: safari 中没办法在回调函数里面执行window.open, 原因是safari的安全机制将其阻挡了(具体的原因可 ...

  6. SSH配置动态数据源

    用到一个项目,需要整合2个不同的数据库! 现将代码贴下,以备后用: 1.创建静态映射类,该类映射动态数据源 public class DataSourceMap { public static fin ...

  7. C++ Generate Rand Number Array by "srand()" 生成随机数

    在C++中,我们有时想生成一个由随机数组成的数组,而且随机数的范围也可由我们来设定.那么我们就要用到srand()函数配合rand()来使用,参见如下代码: #include <vector&g ...

  8. Qt中图像的显示与基本操作

    Qt可显示基本的图像类型,利用QImage.QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放.旋转). 1. Qt可显示的图像类型 参考Qt的帮助文档,可支持的类型,即 ...

  9. Scrum会议4

    组名称:天天向上 项目名称:连连看 参会成员:王森(Master)张金生 张政 栾骄阳 时间:2016.10.19 已完成内容: 1.连连看生成一关功能. 2.目前测试发现没有问题. 计划完成: 1. ...

  10. PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 && 将错误记录到指定的文件中

    [记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 其 ...