Hadoop 3.1.3 分布式集群搭建(全面超详细的过程)——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项

前言

   Hadoop是一个开源的、可运行与Linux集群上的分布式计算平台,用户可借助Hadoop存有基础环境的配置(虚拟机安装、Linux安装等),在之前Hadoopp集群搭建,配置和测试学习的时候,碰到过很多次,因为安装集群遇到过各种稀奇古怪的问题,导致小北的兴趣大大降低。并且小北自身也有很多问题,在之前的学习过程中。所以这一次写一篇完整王的安装教程,分享给友友们如何搭建~

一、虚拟机的安装

       VMware (Virtual Machine ware)是一个“虚拟PC”软件公司,提供服务器、桌面虚拟化的解决方案。
使用的虚拟软件:VMware17
VMware17软件的安装包与安装教程可参考:新手教程 | 2024年最新Vmware17安装教程及许可证(详细图文)_vmware许可证-CSDN博客文章浏览阅读4.5w次,点赞90次,收藏190次。重新装电脑后,安装虚拟机VMware Workstation 17 Pro是VMware公司为专业用户打造的一款虚拟化软件。它可以在一台计算机上模拟运行多个操作系统,包括Windows、Linux、macOS等,而且每个操作系统都可以拥有完全独立的硬件配置和网络环境,互不干扰。这使得开发人员、测试人员和教师等用户可以在同一台计算机上同时进行多个项目,大大提高了工作效率。_vmware许可证https://blog.csdn.net/weixin_73609038/article/details/137744136

二、Linux系统安装

1.环境准备

VMware17 pro
Centos7镜像文件,下载地址:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区阿里巴巴开源镜像站,免费提供Linux镜像下载服务,拥有Ubuntu、CentOS、Deepin、MongoDB、Apache、Maven、Composer等多种开源软件镜像源,此外还提供域名解析DNS、网络授时NTP等服务,致力于为互联网用户提供全面,高效和稳定的基础服务。icon-default.png?t=N7T8https://developer.aliyun.com/mirror/?lang=zh-CN

法一:

1、进入网址后到此界面,点击centos

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

到此,点击下载地址 

进入如下界面选择要准备的centos版本号,这边我选择的是centos 7.9 2009版本然后点击isos ,进入镜像版本选择阶段

点击x86——64位进行版本选择下载

下载CentOS系统镜像时,会有三个镜像版本可供选择,分别是CentOS ISO,Everything ISO,Minimal ISO他们的区别如下:

DVD ISO:是标准安装盘,一般下载这个就可以了,里面包含大量的常用软件,大部分情况下安装时无需再在线下载,体积为4G;

Minimal ISO:精简版本,包含核心组件,体积才600多MB;

Everything ISO:顾名思义,包含了所有软件组件,当然体积也庞大,高达7G。对完整版安装盘的软件进行补充,集成所有软件;

NetInstall ISO:网络安装镜像;

这边小北选择的是第一个————centos-7-x86_64-DVD-2009.iso 版,版本够用就好啦~

法二:

进入阿里云官方镜像站,点击OS镜像,在弹出的下载框中,发行版选择centos,版本选择7(x86_64-DVD-1908),下载地址会自动填入,点击下载按钮即可

下载Centos7镜像及在VMware上安装Centos7可参考:下载centos7镜像及在VMware上安装centos7保姆级教程_centos7下载-CSDN博客文章浏览阅读1.9w次,点赞63次,收藏136次。DVD ISO:是标准安装盘,一般下载这个就可以了,里面包含大量的常用软件,大部分情况下安装时无需再在线下载,体积为4G;处理器配置可以根据自己需求来,自己安排(处理器内核总数越高,处理速度越快,但部建议超过4个,要根据自己物理机实际资源分配)为即将安装的虚拟机做好准备,安装一个虚拟机所需存储空间会相对较大,放到C盘很容易导致储存空间过大,让电脑陷入崩溃。仅主机模式:几乎没有过,相当于一个封闭网络,不能访问网络,据说病毒测试时很牛掰。映像文件,点击浏览,选择刚在阿里云下载的镜像文件,选择好后点击关闭即可。_centos7下载https://blog.csdn.net/qq_62860929/article/details/134649900

2.虚拟机安装

在C盘外的其他盘创建文件架

为即将安装的虚拟机做好准备,安装一个虚拟机所需存储空间会相对较大,放到C盘很容易导致储存空间过大,让电脑陷入崩溃

创建文件夹centos

2.1 新建虚拟机,选择自定义安装,点击下一步。

点击下一步

选择稍后安装操作系统

选择客户机操作系统为Linux,版本号选择为 centos 7 64位

虚拟机名称分别为:bigdata1 (bigdata2 bigdata3),

安装目录选择为咱们刚刚创建的文件夹,点击下一步

处理器配置可以根据自己需求来,自己安排:D:\centos\bigdata1

(处理器内核总数越高,处理速度越快,但不建议超过4个,要根据自己物理机实际资源分配)

桥接网络:相当于虚拟机和宿主机连在一台Hub上;虚拟机必须配置IP地址,子网掩码,网关,DNS等,而且必须和宿主机处于同一网段。配置好之后,虚拟机能够联通宿主机和访问网络,实际上就相当于一台主机;

NAT:平时用的较少,这种情况下虚拟机不用手动配置IP地址等;

仅主机模式:几乎没有过,相当于一个封闭网络,不能访问网络,据说病毒测试时很牛掰。

选择使用第二个NAT模式,点击下一步

选择默认推荐,点击下一步

选择默认推荐,点击下一步

选择创建新虚拟磁盘,点击下一步

默认选项,点击下一步

磁盘文件名默认即可,点击下一步

(路径:C:\Users\支一郎\Documents\Virtual Machines\bigdata1)

点击自定义硬件,再点击新CD/DVD(IDE),选择使用ISO映像文件,

点击浏览,选择刚在阿里云下载的镜像文件,选择好后点击关闭即可

点击完成

三、Centos系统安装

3.1开启虚拟机,出现如下界面,点击开启此虚拟机
3.2安装 CentOS7

用键盘上的方向键选择第一个选项,按Enter键,出现提示后再按Enter键,系统开始启动安装程序

Ctrl+Alt可以退出虚拟机控制)

(鼠标拉到最下面)选择中文,简体中文,点击下一步

点击软件选择,选择带GUI的服务器,点击上面的完成

点击安装位置

选择自动配置分区,点击完成

点击网络和主机名

将以太网开关打开,进行网络连接(记得配置和修改主机名:bigdata1)

硬件地址 00:0C:29:97:43:E3
速度 1000 Mb/s
IP地址 192.168.96.128
子网掩码 255.255.255.0
默认路由 192.168.96.2
DNS 192.168.96.2

点击开始安装,(安装完成后)接着点击root密码

给root用户设置密码(要记住,后面登录系统要用),点击完成,建议设置为(123456)

进度条加载完后,点击重启

点击LICENSE INFORMATION,进行协议勾选。

勾选同意许可协议,点击完成

点击完成配置

 (账号)

(密码)

(开始使用)

开机后输入root账号和密码进入系统,自己选择语言,日期之后如下图所示:

现在就安装完毕了

(拓展:可略过)四、VMware 搭建centos虚拟机网络设置

首先,默认已经装好系统(相关文档很多,此处没太大难点),此时,可以看到宿主机多了两个网络分别是VMnet1和VMnet8

实际上,VMware帮我们新建了3个网络。这3个网络也是这篇日志需要总结的对象。这3个网路对应3种连接方式。

在分析这3种连接方式前,需要明确一个知识点。即虚拟机并非一个实体计算机,在这个问题里,即虚拟机没有真实的物理网卡。那么它的一切对外通信,都一定建立在宿主机的物理网卡上。

4.1简介这3种模式含义及设置
4.2法一:桥接模式-VMnet0

       桥接模式下,宿主机物理网卡和虚拟网卡在拓扑图上处于同等地位,物理网卡和虚拟网卡相当于处于同一个网段(可以理解为新接入了一台设备,宿主机和虚拟机是完全平等的)。因此,两个网卡的IP地址也要设置为同一网段。这种模式下,需要手动配置ip等信息。在正式配置前,确认以下操作:

(1)宿主机网络属性中相关选项已勾选 

(2)如果宿主机有多个网口,这里一定要手动选择实际上网的网口(VMware->编辑)

(3)配置虚拟机网络配置文件

    ①先获取宿主机网络连接的详细信息

   ②然后将上述信息配置到网络配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"  # dhcp是自动分配
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" # 这个是网络的名字,随便叫啥
UUID="ea3b61ed-9232-4b69-b6c0-2f863969e750"
DEVICE="ens33"
ONBOOT="yes"
 
# 以下是新增,其实和windows里设置固定ip实质是一样的,只是这里没有图形界面
IPADDR="X.X.X.218" # 自定义虚拟机的ip地址,必须与主机在同一网段,不能和已有Ip冲突
NETMASK="255.255.255.0" # 设置子网掩码,跟宿主机一样
GETWAY="X.X.X.254" # 默认网关,跟宿主机一样
DNS1="X.X.X.25" # DNS,跟宿主一样

最后将网关信息和DNS服务器地址分别添加到对应文件(个人感觉上述文件已经包含完整信息,不需要再补充什么。但实测如果不进行下面操作,无法上网)

③补充网关信息

vi /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=zhangsan # 名字随便写
GATEWAY=X.X.X.254 # 默认网关和宿主机相同
④补充DNS服务器(关于DNS可查看小北身边的案例:通过一个网络错误简述DNS

        某天下午,有一位友友说他的网络突然很慢,我随即点开百度,访问不了。试了其他网站也不行。浏览器提示错误是DNS_PROBE_FINISHED_BAD_CONFIG。我看了下网络连接图标,一切正常。并且微信也能正常发消息。我又试了试手机连接无线,发现一切正常,网页也可以访问。通过浏览器报错,容易想到可能是DNS服务器出问题了。但这一切现象该如何解释呢?

第一步:DNS简介

       DNS-Domain Name System 直译就是域名系统,就是说这个系统会给你提供域名服务。这个世界,越是基础且重要的东西,我们越是容易忽略它的存在。因为它们让你很轻松地使用,以至于感受不到它们的存在。比如空气,比如这个DNS。

我们在浏览器输入www.xx.com的时候,计算机其实是无法理解的。网络通信是基于IP地址寻址的。因此,就需要有一张映射表,把我们输入的域名转换成对应的IP地址。DNS实际上就是在维护这样一个映射资源。

实际的DNS是一种多层、分布式的数据库。之所以这样设计,主要就是考虑其请求量大、请求用户分部广(全球各地)。为了高效、稳定地提供服务。其结构示意如下:

       基于IPV4的根域名服务器全球共13台,10台在美国(1台主根服务器,9台辅根)。后来IP不够用了,扩充到IPV6,有2台增加的根服务器在中国。层级越高的服务器其管理的数据越少,就像总经理只需要管几个部长。除了图中这些域名服务器,还有一个离我们更近的-本地域名服务器。

基于以上知识,小北可以这样描述一个网页请求:

之所以能做到有值直接返回,是因为域名服务器会进行一定缓存。之前请求过的域名会被短期存储。

第二步:现象分析

现在,回到我们一开始提到的各种现象。

(1)无法访问网页

      因DNS服务器宕机或其他原因,导致你无法正常使用域名解析服务,进而网页无法访问。就像你和翠花打电话,结果通讯录出问题,又不记得号码,那这个电话肯定打不出去的。这里我通过手动指定DNS地址解决了问题。其他情况请搜索相应文章解决。

(2)微信、QQ等聊天工具可以正常通讯

       这些即时通讯工具,都依靠一个中间服务器。这里用户的数量太大,状态变化大(同时在线的很多,下一时刻也可能不在线),所以,B用户不可能拥有一个固定IP让A用户去联系。所以DNS那一套用不着。而为了保证信息发送的准确性,应用必然需要维护一个自己的协议。

 或者说,微信、QQ在应用内自己维护了一个映射关系。能让你准确地给你的好友张三发送消息。微信名和QQ号不能重复也是协议能实现的基础,就像IP是唯一的一样。

(3)手机能访问网页

       其实,不管你是PC还是手机或是平板,你要想访问网页,都是需要域名解析的。之所以这个场景下,手机能正常访问网页,一定是手机能正常使用域名解析服务。我将手机无线网络设置为静态,发现直接出现了两个域名服务器地址。我猜想,手机系统的DNS管理进程监测到自动获取DNS出错,会使用默认的固定DNS。因此,手机可以正常访问网页。

4.3法二:NAT(Network Address Translation)模式-VMnet8

虚拟机借助宿主机的网络地址转换功能上网,我们可以先看下此模式下几个网络ip地址

名称地址
宿主机真实地址10.X.X.217
宿主机虚拟地址VMnet8192.168.217.1
虚拟机地址192.168.217.129

由以上易知,虚拟机地址和宿主机不在一个网段。因此,局域网内其他主机不能和虚拟机建立连接。然而宿主机却可以,关键点就在于宿主机还有一个虚拟网络和虚拟机网络在一个网段。反过来,虚拟机也正是借助了这个虚拟网络(VMware 192.168.217.1)来和宿主机进行通信,进而访问外网。相当于宿主机虚拟了一个路由器。桥接模式下,虚拟机和宿主机是同一个层次的;NAT模式下,虚拟机在更低一个层次。

 NAT 模式网络结构示意图 

NAT模式下,如果设置自动分配地址。那就只需要①将/etc/sysconfig/network-scripts/ifcfg-ens33文件中BOOTPROTO="static"  改成"dhcp"。②VMware网络设置里更改相应选项

       当然,NAT模式相当于虚拟了一个路由器,那接入路由器的虚拟机自然也可以设置固定ip。只是注意,此时网络基本信息将不再是宿主机真实网络,而是下面的“路由器”信息这里没有DNS服务器地址,可以设置一些公共的服务器地址,如8.8.8.8

4.4法三:Host-Only-VMnet1

这种模式下,仅建立虚拟机和宿主机之间的连接。隔绝了外部网络,使得内网中的这台虚拟机更安全。此时,宿主机也会有一个虚拟的路由器,用于虚拟机和宿主机进行通信。只是,虚拟机不能通过宿主机访问外部网络。

补充:

(1)桥接模式时,有一个可选项-复制物理网络连接状态。这个主要针对移动设备,如笔记本电脑。宿主机在有线网络和无线网络之间切换,对应的网络信息大概率会发生变化。如果没有勾选该选项,自动地址分配服务会重新分配,这时虚拟机的地址可能会改变。

(2)虚拟机可以访问外网,宿主机可以ping通虚拟机,但虚拟机不能ping通宿主机。主要是防火墙的问题,在防火墙设置里启用一条规则即可

 (3)Ubuntu系统的设置原理也基本一致,只是相关的文件名称和位置不太一样。

五、静态网络配置( Centos修改主机名hostname与ip地址)

1.查看网络是否连通(出现问题!!!)

ping www.baidu.com

(正常)

2.安装net-tools

su

 先进入root:

 yum upgrade
 yum install net-tools

3.查看Mac地址(enter后面)

ifconfig
 

4.查看ip地址的起始和结束地址


5.修改网络配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

虚拟机克隆配置

克隆虚拟机(右键相应虚拟机->管理->克隆)创建完整克隆

克隆虚拟机名称和位置(等待克隆完成)
如法炮制:bigdata2 和 bigdata3:

(1)修改主机名hostname:
vim /etc/hostname    进入hostname文件

改完之后按“Esc”退出编辑模式,然后输入“:wq”写入并保存退出(w写入,q保存退出)

or

hostnamectl set-hostname bigdata2/3
reboot                   //修改主机名后需重启虚拟机
(2)修改ip地址

执行以下命令

vim /etc/sysconfig/network-scripts/ifcfg-ens33  

网络配置文件修改(标红需要修改,IP自己设置,mac用步骤5查到地址,网关为ip地址最后改为2)

BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="3c59f69e-1b39-437b-a31b-2898a2ea1399"
IPADDR="192.168.86.128(129\130)"
GATEWAY="192.168.96.2"
DNS1="8.8.8.8"
DNS2="192.168.96.2"
DEVICE="ens33"
ONBOOT="yes"
(3)修改完成后,记住一定要执行命令  “reboot”  重启

重新登录后,执行命令 “ifconfig” 查看ip


mac地址为2步骤的enter值
ip地址参照4步骤自行选择(必须在起始和结束的范围内)
子网掩码默认设置为255.255.255.0
网关的值为将ip地址中最后一段的值改为2
DNS使用谷歌提供的免费dns1:8.8.8.8

(动态的)修改为“static"(静态的)

如果为"yes"则不用修改!


6.重启网络服务,查看是否配置成功

systemctl restart network
ping www.baidu.com


7.重启虚拟机后,查看是否连通网络(ip地址并未改变,且能连通网络)

reboot
ifconfig
ping www.baidu.com

六、配置hosts文件和ssh免密登录

1.修改hosts配置文件(所有虚拟机都需要配置此文件)

vi /etc/hosts

192.168.95.128 bigdata1
192.168.95.129 bigdata2
192.168.95.130 bigdata3

2.生成密钥文件(四次回车)

ssh-keygen -t rsa

 2.将本机公钥文件复制到其它虚拟机上(接收方需先开机)
 在bigdata1上执行,先输入yes,后输入对应主机的密码,多台虚拟机配置操作相同

ssh-copy-id bigdata1
ssh-copy-id bigdata2
ssh-copy-id bigdata3

       到这里小北已经安装完成了,希望这篇博客对友友们能有所帮助。如果有任何疑问,友友们请评论区提问,蟹蟹~

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stitch .

欢迎各位家人来白嫖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值