前言
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等服务,致力于为互联网用户提供全面,高效和稳定的基础服务。https://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),下载地址会自动填入,点击下载按钮即可
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 宿主机虚拟地址VMnet8 192.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
到这里小北已经安装完成了,希望这篇博客对友友们能有所帮助。如果有任何疑问,友友们请评论区提问,蟹蟹~