文章目录
前言
年过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 | secondnamenode |
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
- 重启网络
# service network restart
当所有结果都显示为OK时,才能成功。
- curl测试网络是否通了
返回网页表示统领。
使用 xshell
在虚拟机中输入命令很受,让我们用专门的客户端吧,让你写命令6的起飞。
点击连接,输入用户名和密码,记得勾选记住用户名和密码。下次就避免输入了。
SSH免密码登录
ssh-keygen 用来生成ssh登录的key,可以使我们以后登录远程主机时无需再输入远程主机的key具体使用方法如下:
当我们需要用主机61登录远程主机62时,我们在主机61上输入:
- 生成Key
# ssh-keygen -t rsa
会产生如下的信息:
- 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
- 把公匙复制到62
scp id_rsa.pub 192.168.3.62:/root/.ssh/
- 远程到62
ssh 192.168.3.62 ->登录远程主机
root@192.168.3.62's password: ->输入密码
- 生成authorized_keys
# cd /root/.ssh ->进入到key目录
# cat id_rsa.pub >> authorized_keys
- 修改.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
参考文献
《从零开始学Hadoop大数据分析(视频教学版)》
更多精彩关注【lovepythoncn】,个人博客