前言
年过30惶惶不安,又逢疫情,还是不断学习,强化自己的能力。hadoop的视频和书籍在15年的时候就看过,但是一直没动手实践过,要知道技术不经过实战,一点提升也没有。因此下定决心边学边做,希望能有所收获。
软件版本介绍
- virtualbox 6.1
- centos7
- hadoop-3.2.1
- jdk-8u241-linux-x64
- xshell
- xftp
虚拟机配置规划
name |
ip |
role |
61 |
192.168.3.61 |
namenode,datanode |
62 | 192.168.3.62 |
datanode |
63 | 192.168.3.63 |
namenode,datanode |
64 | 192.168.3.64 |
datanode |
虚拟机的创建
安装virtualbox
新建虚拟机如下图所示:
选择red hat 64位。点击下一步,内存根据情况设置
下一步
现在创建虚拟机硬盘,点击创建。
勾选第一个,下一步。
动态分配,下一步。
点击创建。
双击启动。
注册系统镜像iso.启动安装
记得设置连接方式,桥接网卡,可以让虚拟机和本机在同一个网络下。
复制虚拟机,避免多次安装
右击复制
虚拟机配置ip
- 修改192.168.3.61的网络配置,192.168.3.62,192.168.3.63,192.168.3.64的雷同。
# vi /etc/sysconfig/network-scripts/ifcfg-ens3 TYPE=Ethernet BOOTPROTO=static //dhcp改成static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes //no改成yes IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens3 UUID=851ae637-14d4-4435-9c38-d3a3e4c2f0c3 DEVICE=ens3 IPADDR=192.168.3.61 //新加上的 NETMASK=255.255.255.0 //新加上的 GATEWAY=192.168.3.1 //新加上的 ONBOOT=yes //no改成yes
2.重启网络
# service network restart
当所有结果都显示为OK时,才能成功。
3.curl测试网络是否通了
返回网页表示统领。
使用 xshell
在虚拟机中输入命令很受,让我们用专门的客户端吧,让你写命令6的起飞。
点击连接,输入用户名和密码,记得勾选记住用户名和密码。下次就避免输入了。
SSH免密码登录
ssh-keygen 用来生成ssh登录的key,可以使我们以后登录远程主机时无需再输入远程主机的key具体使用方法如下:
当我们需要用主机61登录远程主机62时,我们在主机61上输入:
1.生成Key
# ssh-keygen -t rsa
会产生如下的信息:
2.key的名称输入id_rsa,密码直接回车表示空
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): ->输入key文件的名称 Enter passphrase (empty for no passphrase): ->输入使用key时的密码,注意这里不是远处服务器的密码, 只是你使用sshkey时需要输入的密码, 建议不输入(如果要输入这个密码还不如直接输入远处主机的密码:)) Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 11:ae:00:bd:92:bc:70:f8:4b:cb:47:06:7f:e2:73:21 root@xxxxxx
3.把公匙复制到62
scp id_rsa.pub 192.168.3.62:/root/.ssh/
4.远程到62
ssh 192.168.3.62 ->登录远程主机 root@192.168.3.62's password: ->输入密码
5.生成authorized_keys
# cd /root/.ssh ->进入到key目录 # cat id_rsa.pub >> authorized_keys
6.修改.ssh和authorized_keys权限。退出62,重启ssh服务
600 设置拥有者可读写,其他人不可读写执行,
700** **** 只有拥有者有读、写、执行权限。**
#chmod 700 .ssh #chmod 600 authorized_keys #exit -> 推出远程62服务器 #service sshd restart ->重新启动ssh服务 #ssh 192.168.3.62 ->远程登录到62测试下吧:)
关闭防火墙
了使两台机器之间进行通信,还需要将每个节点的防火墙都关闭。关闭防火墙有两种方法,一种是永久生效;另一种是立即生效,重启后无效。这两条命令我们可以都运行一遍,这样就代表防火墙立即关闭,并且机器重启后仍然处于关闭状态。
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service