• Openmpi 编译安装+集群配置 + Ubuntu14.04 + SSH无密码连接 + NFS共享文件系统


    来源

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

    网络连接

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

    hosts文件如下

    1 #/etc/hosts
    2 192.168.0.190   master
    3 192.168.0.189   slave1
    4 192.168.0.81    slave2
    5 192.168.0.105   slave3
    6 192.168.0.120   slave4

    安装第一步

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

    注:prefix后面是安装路径

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

    1 sudo apt-get install build-essential(g++,gcc)
    2 sudo apt-get install libibverbs-dev
    3 sudo apt-get install libibmad-dev
    4 sudo apt-get install libibumad-dev
    5 sudo apt-get install byacc

    安装第二步

    make

    安装第三步

    make install

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

    配置环境变量

    1 #vim ~/.bashrc
    2 export MPI_HOME=/home/hadoop/openmpi_install
    3 export PATH=$MPI_HOME/bin:$PATH
    4 export LD_LIBRARY_PATH=$MPI_HOME/lib
    5 export MANPATH=$MPI_HOME/share/man
    6 #source ~/.bashrc

    本机运行结果

    1 mpicc hello_c.c -o hello.exe

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

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

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

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

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

    NFS文件系统安装

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

    1 sudo apt-get install nfs-kernel-server

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

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

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

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

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

    目标机(要挂载的机子)

    建一个一样的目录

    1 sudo mkdir /home/hadoop/share_directrory

    根据IP挂载

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

    不要了就直接umount

    1 sudo umount /home/hadoop/share_directory

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

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

    NFS文件系统下运行openmpi

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

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

  • 相关阅读:
    Mysql之存储过程与存储函数
    mysql-bin日志自动清理及手动删除
    mysql下面的binlog
    mysql下的数据备份与恢复
    查询mysql数据库中各个表所占空间大小以及索引大小
    mysql执行sql语句报错this is incompatible with sql_mode=only_full_group_by
    docker WARNING: IPv4 forwarding is disabled. 解决方法
    Linux平台修改环境变量的方式
    PuTsangTo
    (一) 从Angular1到Angular2的杂谈
  • 原文地址:https://www.cnblogs.com/loadofleaf/p/5135760.html
Copyright © 2020-2023  润新知