三台机子配置免密码登录

 基于MPI的X10多机程序实验平台搭建及使用手册(更新版)

 

目录

1、硬件环境

           PC机四台

2、配置文件清单

3、安装mpich

4、安装SSH

5、配置多机运行环境

6、配置三台机子免密访问

  第一步:在本机生成公钥和秘钥

  第二步:互相传输公钥

7、安装JDK

8、安装ant

9、X10源码包的编译和安装

10、编译执行命令

2019.12.14

1、硬件环境

PC机四台:

l  两台ubuntu-14.04.4-desktop-amd64操作系统

l  两台ubuntu-16.04.6-desktop-amd64操作系统

l  账号都为:hpms   密码都为:123456

地址映射分别为:

hpms-1:202.117.35.221:22

hpms-2:202.117.35.220:22

hpms-3:202.117.35.202:22

hpms-4:202.117.35.201:22

cpu具体信息如下:

 

 

2、配置文件清单

l  mpich-3.2.tar.gz(MPI环境)

l  ssh(直接下载安装)

l  jdk-8u111-linux-x64.tar.gz

l  apache-ant-1.9.7-bin.tar.gz

l  x10-master.zip(X10 源码包、xu.tar已编译可以直接使用)

实验路径:都在/home/hpms/x10/下。

以下以配置三台机子hpms-1,hpms-2和hpms-4为例。

3、安装mpich

l  安装gcc、g++以及gfortran三个编译器;

  • #sudo apt-get install gcc
  • #sudo apt-get install g++
  • #sudo apt-get install gfortran
  • #sudo apt-get update(更新apt-get的安装版本,从而保证安装的资源最新)

l  安装mpich

  • 将下载的mpich-3.2.tar.gz拷贝至/home/hpms/x10/下
  • 进入当前目录(#cd /home/hpms/x10)并解压(#tar -zxvf mpich-3.2.tar.gz)
  • 进入mpich-3.2根目录下( #cd /home/hpms/x10/ mpich-3.2 )
  • 配置( #./configure 2>&1 | tee c.txt )
  • 编译( #make 2>&1 | tee m.txt)
  • 安装( #make install |& tee mi.txt )
  • 测试 ( #which mpicc 和 #which mpiexec)

4、安装SSH

l  #sudo apt-get install ssh

 

5、配置多机运行环境

l  修改/etc/hostname文件(#sudo vim /etc/hostname)

l  修改/etc/hosts文件配置(#sudo vim /etc/hosts)

l  重启(#sudo reboot)

 

6、配置三台机子免密访问

第一步:在本机生成公钥和秘钥

l  进入.ssh目录下,使用命令 >>>ssh-keygen -t rsa 生成秘钥 ;

l  出现冒号(:)回车即可,要按三次回车。如果出现(yes/no)输入yes。

 

第二步:互相传输公钥

hpms-2与hpms-1互传

l  将hpms-2的公钥传送到hpms-1中并重命名为02.pub

#scp ~/.ssh/id_rsa.pub hpms-1:~/.ssh/02.pub

l  将hpms-1的公钥另复制一份并且重命名为authorized_keys

#cp ~/.ssh/id_rsa.pub authorized_keys

l  将02.pub添加到authorized_keys从而完成authorized_keys的制作

#cat ~/.ssh/02.pub >> authorized_keys

l  将在hpms-1上制作好的authorized_keys发送一份给hpms-2

#scp ~/.ssh/authorized_keys hpms-2:~/.ssh/

hpms-4与hpms-1互传

l  将hpms-4的公钥传送到hpms-1中并重命名为04.pub

#scp ~/.ssh/id_rsa.pub hpms-1:~/.ssh/04.pub

 

l  将04.pub添加到authorized_keys从而完成authorized_keys的制作

#cat ~/.ssh/04.pub >> ~/.ssh/authorized_keys

l  将在hpms-1上制作好的authorized_keys发送一份给hpms-4

#scp ~/.ssh/authorized_keys hpms-4:~/.ssh/

注:

如果使用hpms-4不行的话,说明hostname和hosts文件修改失败,可以使用hpms-4的地址hpms@202.117.35.201代替。

hpms-4与hpms-2互传

l  将hpms-4的公钥传送到hpms-2中并重命名为04.pub

#scp ~/.ssh/id_rsa.pub hpms-2:~/.ssh/04.pub

 

l  将04.pub添加到authorized_keys从而完成authorized_keys的制作

#cat ~/.ssh/04.pub >> ~/.ssh/authorized_keys

l  将在hpms-2上制作好的authorized_keys发送一份给hpms-4

#scp ~/.ssh/authorized_keys hpms-4:~/.ssh/

验证:

>>>ssh hpms@202.117.35.220

如果直接显示,即表示免密登录设置成功。如果仍需要输入密码,则表示设置失败。

7、安装JDK

l  在/home/hpms/x10/下解压jdk-8u111-linux-x64.tar.gz

#sudo tar zxvf jdk-8u111-linux-x64.tar.gz

l  用vi/vim编辑器编辑~/.bashrc文件(进入后在最后一行编辑)

export JAVA_HOME=/home/hpms/x10/jdk1.8.0_111

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

 

l  编辑完在重读文件

–#source ~/.bashrc

l  测试:

输入

#java –version

#java

8、安装ant

l  在/home/hpms/x10/下解压apache-ant-1.9.7-bin.tar.gz

–#sudo tar zxvf apache-ant-1.9.7-bin.tar.gz

l  输入命令>>>vim ~/.bashrc(进入后在最后一行编辑PATH)

–export PATH=/home/hpms/x10/apache-ant-1.9.7/bin:${JAVA_HOME}/bin:$PATH

l  vi编辑完后重新读文件

–#source ~/.bashrc

l  测试是否成功

–#ant –version

9、X10源码包的编译和安装

将已编译好的压缩包xu.tar传输到/hpms/x10目录下,只需解压(#sudo tar zxvf xu.tar)后设置环境变量即可。

 

l  设置环境变量(更改~/.bashrc)

–PATH=/home/hpms/x10/x10-master/x10.dist/bin:/home/hpms/x10/apache-ant-1.9.7/bin:${JAVA_HOME}/bin:$PATH

l  编辑完后重新读文件

–#source ~/.bashrc

l  测试是否成功

#x10c++

l  配置mpi_config_file文件

在/home/目录下(和/home/hpms同一个目录,这个文件编译时要用)新建一个文件mpi_config_file:

 

在文件里里面设定每个机子上最大节点数:

注:如上所设置,则进入/mpich-3.2/example/目录下,找到有已编译过的执行文件cpi,输入>>> mpiexec -n 16 -f /home/mpi_config_file ./cpi,发现16个进程都来自hpms-1;

 

当-n=17时,有16个来自hpms-1,有1个来自hpms-2:

 

当-n=25时,有16个来自hpms-1,有8个来自hpms-2,有1个来自hpms-4:

 

当-n=37时,有16+1个来自hpms-1,有8个来自hpms-2,有12个来自hpms-4:

 

10、编译执行命令:

红色为文件名

编译:>>>x10c++ -o Hello Hello.x10 -x10rt mpi

运行:>>>mpiexec -n 20 -f /home/mpi_config_file ./Hello

注:

需要提前把程序分别拷贝至三台实验机同一路径下,并分别编译好,然后在一台机子上执行运行命令即可。

//end

2019.12.14

原文地址:https://www.cnblogs.com/gjmhome/p/12091544.html