其他分享
首页 > 其他分享> > Hadoop【第九课】:克隆两个虚拟机相互通信(完全分布式安装前提操作)

Hadoop【第九课】:克隆两个虚拟机相互通信(完全分布式安装前提操作)

作者:互联网


VMware workstation
CentOS 7
SSH
author:zoxiii


两个虚拟机相互通信

1、克隆虚拟机

1.1、克隆两个初始状态的Centos 7 虚拟机,一个命名为masternode,一个命名为slavenode
在这里插入图片描述
1.2、等待虚拟机克隆完成
在这里插入图片描述
1.3、克隆完成,得到两个新的虚拟机
在这里插入图片描述

2、网络配置

2.1、参照另一篇博客虚拟机NAT模式下配置网络地址中的步骤配置网络
2.2、这里我使用的ip地址如下

虚拟机名称ip
masternode192.168.184.100
slavenode192.168.184.101

3、相互通信

3.1、修改主机名:修改配置文件方法

# vi /etc/sysconfig/network

添加如下内容:

NETWORKING=yes
HOSTNAME=slave

尝试使用上述方法无效!!
3.2、修改主机名
分别对两个虚拟机都操作

# hostnamectl set-hostname 你想要设置的主机名称(master/slave)

在这里插入图片描述
3.3、配置IP和主机名映射文件
分别对两个虚拟机都操作

# vi /etc/hosts

添加如下内容:

192.168.184.100 master          // masternode
192.168.184.101 slave           // slavenode

3.4、测试通信
在masternode上测试:

# ping slave                

在这里插入图片描述

4、SSH无密码登录

  实现的是master服务器可以通过ssh服务无密码登录到slave服务器的操作
4.1、在master服务器上执行命令创建密钥对

# ssh-keygen -t rsa -P ''   // 加密方式rsa  [-P old_passphrase] ----将会生成密钥文件和公钥文件 id_rsa,id_rsa.pub

在这里插入图片描述

# cd /root/.ssh             // 进入.ssh目录下
# ls                        // 查看该目录下的所有文件(验证命令是否操作成功)

在这里插入图片描述

4.2、传递公钥

# scp -r /root/.ssh/id_rsa.pub root@192.168.184.101:~     // 将公钥传输给slave服务器(此步需要输入密码)

在这里插入图片描述

# ssh 192.168.184.101     // ssh登录到slave服务器(此步需要输入密码)

在这里插入图片描述

# mkdir /root/.ssh        // 创建.ssh文件夹
# touch /root/.ssh/authorized_keys         // 创建authorized_keys文件
# cat /root/id_rsa.pub >> /root/.ssh/authorized_keys    // 复制id_rsa.pub的内容到authorized_keys
# cat /root/.ssh/authorized_keys          // 查看是否复制成功

在这里插入图片描述

# chmod 700 /root/.ssh                       // 为.ssh文件夹添加权限(700:只有拥有者有读、写、执行权限)
# chmod 600 /root/.ssh/authorized_keys       // 为authorized_keys文件添加权限(600:拥有者可读写,其他人不可读写执行)

在这里插入图片描述

4.3、测试是否可以无密码登录

# ssh 192.168.184.101     // ssh登录到slave服务器(此步不需要输入密码则成功)

在这里插入图片描述
其中:

ssh
参考:ssh命令详解
+++++++++++++++++++++++++++++
scp
功能 -->远程文件的安全(加密)拷贝
参考:scp命令详解

4.4、关闭防火墙
分别对两个虚拟机都操作
Centos 7 以下版本(不用运行)

# service iptables stop       ## 即时生效、重启后失效
# chkconfig iptables off      ## 重启后永久生效

Centos7版本对防火墙进行加强,不再使用原来的iptables,启用firewalld
所以这里使用命令

# firewall-cmd --state        ## 查看防火墙的状态
# systemctl stop firewalld    ## 禁用防火墙

在这里插入图片描述


参考文献:
[1] 从零开始学hadoop大数据分析
[2] linux下ssh/scp无密钥登陆方法

标签:slave,虚拟机,Hadoop,rsa,ssh,第九课,root,authorized
来源: https://blog.csdn.net/qq_41315788/article/details/121187106