Hadoop集群搭建(一)---多台虚拟机的相互连通和远程登录


一、开发环境

系统环境

系统 版本
Windows 11
Linux ubuntu-20.04.6-server

安装过程网上很多,这里就不多介绍

安装好之后,打开虚拟机,输入账号密码登录进去,如下:

二、网络配置

在主机Windows命令行中输入ipconfig /all,记下IPv4地址,子网掩码、DNS服务器

注意虚拟机设置网络类型为桥接网络

回到虚拟机、输入指令ifconfig -a查看网络信息,我这里是enp0s3

输入指令cd /etc/netplan, 然后ls (Centos与ubuntu有点不一样,可以自行上网查询, 如果ubuntu没找到这个文件,可能版本不一样)

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: false #禁止dhcp动态分配ip
      addresses: [*.*.*.*/子网掩码(16等价于255.255.0.0)] #根据你宿主机的ip和子网掩码,划分一个ip给虚机(保证虚拟机和宿主机在同一网段即可,注意避免ip冲突问题)
      gateway4: *.*.*.* #填写宿主机的网关
      nameservers:
              addresses: [*.*.*.*,*.*.*.*] #填写宿主机的DNS

切记,如果你是在校园网环境下,可能配置不成功,原因有的校园网需要认证。

sudo netplan --debug apply

运行上面指令,重新启动网络,这样就能ping通主机、外网。

可以设置优先ipv4

vim /etc/gai.conf

把其中precedence ::ffff:0:0/96 100取消注释,这样就优先ipv4

三、虚拟机克隆

假设我们需要设置多台虚拟机,如果重新配置就比较麻烦,直接克隆,修改一些配置这样就很快

首先,关闭虚拟机,右击虚拟机选择复制->选择完全复制,等待一段时间就好了

然后启动克隆后的虚拟机,账号密码还是之前的,可以增加用户然后删除之前的用户

删除用户以及它的文件夹sudo userdel -r username

增加用户sudo useradd -r -m -s /bin/bash newname 设置密码sudo passwd newname

修改主机名vim /etc/hostname,变成hadoop2

然后再修改ip就行(注意在同一子网内),其他不需要变,因为是复制过来的

四、多台虚拟机连通

首先,两台虚拟机都打开,检查两天机器是否ping通

但是我们也可以通过主机名进行连接,比较直观

在hadoop1虚拟机上输入指令vim /etc/hosts,设置ip对应主机名172.20.10.9 hadoop2,同样在hadoop2也做这样处理

输入指令ssh hadoop2,首次登录需要确认和密码,然后exit退出返回hadoop1

image-20240125171459315

如果可能是root用户,可能没有权限,编辑 /etc/ssh/sshd_config文件

找到PermitRootLogin,注释掉这一行

添加PermitRootLogin yes,保存,退出

介绍一下双向免密登录

在hadoop1虚拟机通过指令生成.ssh文件夹,生成密钥,将公钥通过scp指令远程拷贝到hadoop2虚拟机的.ssh文件夹中(拷贝前,hadoop2也需要产生.ssh文件夹)

之后,将hadoop1的公钥通过cat指令写道authorized_keys文件中,hadoop2同理

首先,hadoop1输入指令ssh-keygen -t rsa,产生.ssh文件夹,连续按三下回车,采用默认设置

,同理对hadoop2也这么处理。

回到虚拟机hadoop1,输入指令cd /hadoop1/.ssh(就是我自己用户产生的密钥,返回的你产生密钥的用户的.ssh文件,假设你是hadoop2用户,那就是cd /hadoop2/.ssh),然后ls查看目录

拷贝前我们先重命名,与其他虚拟机的密钥区分开,指令cp id_rsa.pub id_rsa_1.pub

输入指令scp id_rsa_1.pub hadoop1@hadoop2:/home/hadoop1/.ssh/,首次输入yes和密码,注意以你的用户为准

同理,把hadoop2产生的公钥,传送到hadoop1虚拟机上。

接着分别在两台虚拟机上将两个公钥写到authorized_keys文件中。

分别输入指令cat id_rsa_1.pub id_rsa_2.pub >> authorized_keys

这样就完成了双向免密登录!


文章作者: 姜小白
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 姜小白 !
评论
  目录