云计算与大数据——MPI集群配置

这篇具有很好参考价值的文章主要介绍了云计算与大数据——MPI集群配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是MPI集群?

MPI(消息传递接口)是一种用于编写并行程序的标准,它允许在多个计算节点上进行通信和协作。MPI集群配置是指在一个或多个计算节点上设置MPI环境以实现并行计算。

MPI集群配置的步骤:

硬件选型:选择适合你需求的硬件设备,包括主节点和计算节点。主节点负责协调计算节点之间的通信和任务分配,而计算节点执行实际的计算任务。

操作系统安装:为每个节点安装操作系统,常见的选择包括Linux、Windows服务器等。确保所有节点都能够相互访问,并具备网络连接功能。

MPI软件安装:选择一种MPI实现,如OpenMPI、MPICH等,并根据操作系统的要求在每个节点上安装相应的MPI软件。MPI库提供了一组用于并行计算的函数和工具,以便在节点之间进行通信和同步。

配置主节点:编辑主节点的MPI配置文件,通常是mpiexec或mpirun的配置文件,以指定运行MPI程序的方式。这可以包括指定计算节点的数量、启动脚本、进程分配等选项。

配置计算节点:对于计算节点,编辑其MPI配置文件以指定主节点的位置和其他必要的信息。此外,确保计算节点能够访问主节点和其他计算节点,以便进行通信。

测试MPI集群:编写一个简单的MPI程序,并在MPI集群上进行测试。确保MPI程序能够正确地在多个节点上并行执行,并且能够通过消息传递实现节点之间的数据交换和同步。

扩展集群规模(可选):如果需要更多的计算能力,可以添加更多的计算节点到集群中。确保新的节点也安装了相应的MPI软件,并按照步骤4和5配置好。

下面我们来进行一个简单的MPI集群配置,希望对各位学习云计算和相关MPI集群知识有所帮助。

一、 用VMware Workstation Pro配置虚拟机并打开

这里我们选择用普通用户登陆
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

1. 保证网络畅通,设置各节点的固定IP,并重新启动网络服务。

配置master网络服务:

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
成功配置网络
ping www.baidu.com 成功!

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
配置host1网络服务:

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

成功配置网络
ping www.baidu.com 成功!

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
配置host2网络服务:

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
成功配置网络
ping www.baidu.com 成功!
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
2. 配置两台机器的hosts文件:主机名分别为master、host1和host2

命令:

vim /etc/hosts

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
命令:

vim /etc/hosts

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
修改master主机名:

vim /etc/hosname

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
命令:vim /etc/hosts
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
修改host1主机名:

vim /etc/hosname

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
命令:

vim /etc/hosts

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
修改host2主机名:

vim /etc/hosname

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

2. SSH免密登陆

ssh-keygen –t rsa 一路回车
在master,host1,host2分别
2.将公钥追加到authorized_keys文件中,命令:

  cat  ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

在master,host1,host2分别
所有节点都要设置
3.将公钥拷贝到其它机器
(1)master

 ssh-copy-id -i  ~/.ssh/id_rsa.pub host1
ssh-copy-id  -i  ~/.ssh/id_rsa.pub host2

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

重启ssh服务:

sudo systemctl restart sshd

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
master成功免密登陆host1:

ssh host1

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(2)host1

ssh-copy-id  -i  ~/.ssh/id_rsa.pub master
ssh-copy-id  -i  ~/.ssh/id_rsa.pub host2

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
重启ssh服务:

sudo systemctl restart sshd

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
host1成功免密登陆host2:

ssh host2

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(3)host2

ssh-copy-id  -i  ~/.ssh/id_rsa.pub master
ssh-copy-id  -i  ~/.ssh/id_rsa.pub host1

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

重启ssh服务:

sudo systemctl restart sshd

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
host2成功免密登陆host1:

 ssh host1

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

CentOS 7在安装时自动安装了ssh软件包,并配置了SSH服务。
三台机器ssh服务状态:

systemctl status sshd

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
注意,ssh免密登陆是用户对用户式的,所以在操作中要保证主节点终端和子节点的终端是对应的。
1)关闭各节点防火墙和Selinux
关闭:sudo systemctl stop firewalld
开机禁用:sudo systemctl disable firewalld
关闭Selinux:sudo setenforce 0
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
2)服务端(master,建议取第一台主机)
(1)sudo yum -y install nfs-utils rpcbind #安装软件
(2)mkdir -p /opt/modules/mpi_share #创建共享目录
(3)chmod 777 /opt/modules/mpi_share -R #授予权限
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(4)sudo vi /etc/exports #修改配置写入:

/opt/modules/mpi_share 192.168.95.25(rw,sync,no_root_squash) /opt/modules/mpi_share 192.168.95.26(rw,sync,no_root_squash)

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

192.168.95.25是子节点的地址,也可以是主机名,权限选项中的rw表示允许读写,视自己主机具体IP地址输入;ro为只读;sync表示同步写入,no_root_squash表示当客户机以root身份访问时赋予本地root权限。

sudo exportfs -rv

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(5)sudo systemctl start rpcbind

sudo systemctl start nfs #启动nfs,或者设置为开机启动

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos(6)sudo systemctl enable rpcbind

sudo systemctl enable nfs
showmount -e #查看NFS服务器端的共享目录

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
3)客户端(host1)
(1)sudo yum -y install nfs-utils rpcbind
(2)mkdir -p /opt/modules/mpi_share #将各个节点的共享目录位置和名字设置成一样的
(3)sudo systemctl start rpcbind
sudo systemctl start nfs #同样可以设置开机启动
(4)sudo systemctl enable rpcbind
(5)sudo mount -t nfs 192.168.95.20:/opt/modules/mpi_share /opt/modules/mpi_share #将服务器端共享目录挂载到本地文件夹
(6)或者永久挂载(可选)
vim /etc/fstab
添加192.168.95.20:/home/mpi_share /home/mpi_share nfs rw 0 0
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
4)客户端(host2)
(1)sudo yum -y install nfs-utils rpcbind
(2)mkdir -p /opt/modules/mpi_share #将各个节点的共享目录位置和名字设置成一样的
(3)sudo systemctl start rpcbind
sudo systemctl start nfs #同样可以设置开机启动
(4)sudo systemctl enable rpcbind
(5)sudo mount -t nfs 192.168.95.20:/opt/modules/mpi_share /opt/modules/mpi_share #将服务器端共享目录挂载到本地文件夹
(6)或者永久挂载(可选)
vim /etc/fstab
添加192.168.95.20:/home/mpi_share /home/mpi_share nfs rw 0 0
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
5. 安装配置mpich
1)安装编译器
yum install gcc gcc-c++ gcc-fortran kernel-devel -y # https://blog.csdn.net/wangzhouf/article/details/108222704
(yum install gcc g++ #mpich默认的编译器是gcc,g++和gfortran,但是yum命令找不到gfortran的安装包
#可以自行查找安装gfortran编译器的方法 作者:风干橘子皮- https://www.bilibili.com/read/cv15215061 出处:bilibili)
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
2)下载并安装mpi安装包
(1)创建目录并下载包

mkdir -p /opt/softwares
cd softwares
wget http://www.mpich.org/static/downloads/3.4.1/mpich-3.4.1.tar.gz

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(2)解压

tar -zxvf mpich-3.4.1.tar.gz

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(3)新建安装目录

mkdir -p /opt/modules/mpich-install

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(4)进入下载目录并编译安装

cd /opt/softwares/mpich-3.4.1
./configure --disable-fortran --prefix=/opt/modules/mpich-install --with-device=ch4:ofi 2>&1 | tee c.txt

或:
./configure --disable-fortran //作者:风干橘子皮- https://www.bilibili.com/read/cv15215061 出处:bilibili
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

make

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

make install

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
3)配置环境
(1)

vim ~/.bashrc
export MPICH=/opt/modules/mpich-install
export PATH=$MPICH/bin:$PATH

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
(2)令环境变量生效

source ~/.bashrc

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
4)检查安装情况

mpirun -version

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
6.在每台主机上编译C程序
1)将C程序代码helloWorld.c上传到 每台主机的/opt/modules/mpi_share目录
2)cd /opt/modules/mpi_share`
3)先编写一个helloWorld.c和一个helloWorld2.c:
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos

mpicc -o helloWorld helloWorld.c

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
在编写另一个helloWorld2.c:

#include "mpi.h" 
#include <stdio.h> 
#include <math.h> 
void main(argc,argv) 
int argc;
char *argv[]; 
{
  int myid, numprocs; 
  int namelen;
  char processor_name[MPI_MAX_PROCESSOR_NAME]; 
  MPI_Init(&argc,&argv);
  MPI_Comm_rank(MPI_COMM_WORLD,&myid); 
  MPI_Comm_size(MPI_COMM_WORLD,&numprocs); 
  MPI_Get_processor_name(processor_name,&namelen);
  fprintf(stderr,"Hello World! Process %d of %d on %s\n", myid, numprocs, processor_name);
  MPI_Finalize();
}

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
7.在master上运行:

mpirun -n 3 -host master,host1,host2 ./helloWorld

mpirun -n 3 -host master,host1,host2 ./helloWorld2

云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
云计算与大数据——MPI集群配置,大数据,系统运维,虚拟机,云计算,大数据,运维,linux,centos
当我们面对我们主要的矛盾时候,如果我们能够站在更高维度、更高层次去看待问题,我们将会发现新大陆,会有一种忽如一夜春风来,千树万树梨花开的感受,这对我们个人思维层面又一个巨大的提升,但是这个过程需要我们不断学习,不断历练,当达到一定层次的时候,量变就会发生质变。文章来源地址https://www.toymoban.com/news/detail-568432.html

到了这里,关于云计算与大数据——MPI集群配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云计算与大数据技术】虚拟化简介及虚拟化的分类讲解(图文解释 超详细)

    虚拟化是指计算机元件在虚拟的基础上而不是在真实的、独立的物理硬件基础上运行。这种以优化资源、简化软件的重新配置过程为目的的解决方案就是虚拟化技术 虚拟化架构就是在一个物理硬件机器上同时运行多个不同应用的独立的虚拟系统,这些同时运行的虚拟系统由

    2024年02月03日
    浏览(30)
  • 【云计算与大数据技术】分布式计算、虚拟化技术、并行编程技术等技术讲解(超详细必看)

    分布式计算是一种计算方法,和集中式计算相对,随着计算的发展,一些应用需要巨大的计算能力才能完成,如果采用集中式计算则需要耗费很长的时间,而分布式计算将应用分解成许多更小的部分,分配到多台计算机进行处理,这样可以节省整体计算时间,大大提高计算效

    2023年04月15日
    浏览(50)
  • 【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)

     系统虚拟化的核心思想是使用虚拟化软件在一台物理机上,虚拟出一台或多台虚拟机。步骤如下 首先采用容量规划工具决定每个系统的配置,利用虚拟化评估工具决定整合方案,然后根据总容量需求采用虚拟化进行整合,从整合同平台的应用开始,优先考虑架构相似的,低

    2023年04月19日
    浏览(94)
  • 云计算与大数据第四章 云计算系统监题库及答案

    1、在云计算系统中,重点监管的资源包括(D)。 A. 计算资源       B. 存储资源        C. 网络资源      D. 以上都是 2、网络资源常用的衡量指标不包括(B)。 A. 带宽              B. 存储空间       C. 误码率           D. 延时 3、以下关于集中式监测描述错

    2023年04月21日
    浏览(26)
  • 【云计算与大数据技术】大数据系统总体架构概述(Hadoop+MapReduce )

    企业级大数据应用框架需要满足业务的需求,一是要求能够满足基于数据容量大,数据类型多,数据流通快的大数据基本处理需求,能够支持大数据的采集,存储,处理和分析,二是要能够满足企业级应用在可用性,可靠性,可扩展性,容错性,安全性和隐私性等方面的基本

    2024年02月09日
    浏览(40)
  • 1+X 云计算运维与开发(中级)案例实战——分布式部署集群应用商城系统

    学而不思则罔,思而不学则殆。 IP 主机名 节点 192.168.200.10 mycat Mycat 中间件服务节点 192.168.200.20 db1 MariaDB 数据库集群主节点 192.168.200.30 db2 MariaDB 数据库集群从节点 192.168.200.40 zookeeper1 集群节点 192.168.200.50 zookeeper2 集群节点 192.168.200.60 zookeeper3 集群节点 192.168.200.70 redis 消息队

    2023年04月23日
    浏览(50)
  • 【数据库系统工程师】第13章 云计算与大数据处理

    ○ 关键特征 ■ 广泛的网络接入 ■ 可测量的服务 ■ 多租户 ■ 按需自服务 ■ 快速的弹性和可扩展性 ■ 资源池化 ○ 其他关键特征 ■ 虚拟化技术 ■ 可靠性高 ■ 性价比高 ○ 根据云部署模式和云应用范围 ■ 公用云 ■ 社区云 ■ 私有云 ■ 混合云 ○ 根据云计算的服务层次

    2023年04月17日
    浏览(36)
  • 头歌Educoder云计算与大数据——实验三 分布式文件系统HDFS

    本关任务:使用Hadoop命令来操作分布式文件系统。 为了完成本关任务你需要了解的知识有:1.HDFS的设计,2.HDFS常用命令。 HDFS的设计 点点点…题目省略,懒得写了,下同 分布式文件系统 NameNode与DataNode HDFS的常用命令 在右侧命令行中启动Hadoop,进行如下操作。 在HDFS中创建

    2024年02月13日
    浏览(34)
  • 云计算Linux运维——Linux系统管理——网络参数配置

    点关注不迷路 目录 1网络参数配置 一、网络参数 1、主机名 2、查看网卡IP地址 3、查看网关 4、查看DNS服务器地址 二、配置网卡 1、修改网卡配置文件 2、nmcli命令 3、nmcli配置网卡 3)重新加载配置 三、VMware网络工作模式 1、虚拟网络、虚拟网卡 2、虚拟网络工作模式 2双网卡绑

    2024年02月04日
    浏览(31)
  • 【云计算与大数据技术】数据编码LZSS算法、Snappy压缩库及分布式通信系统的讲解(图文解释 超详细)

    数据编码概述 - 在分布式系统中需要处理大量的网络数据,为了加快网络数据的传输速度,通常需 要对传输数据进行编码压缩 数据压缩是以尽可能少的数码来表示信源所发出的信号,减少容纳给定的消息集合或数据采样集合的信号空间,这里讲的信号空间就是被压缩的对象,是

    2024年02月16日
    浏览(92)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包