# Linux-CentOS 7+Xshell 7 **Repository Path**: androidwhm/linux-cent-os-7--xshell-7 ## Basic Information - **Project Name**: Linux-CentOS 7+Xshell 7 - **Description**: Linux操作系统的安装与基础配置(CentOS 7+Xshell 7) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-02-10 - **Last Updated**: 2025-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Linux-CentOS 7+Xshell 7 #### 介绍 Linux操作系统的安装与基础配置(CentOS 7+Xshell 7) #### 安装教程 ##### 一、CentOS下载 官网地址:https://vault.centos.org/ 1.进入官网,找到CentOS 7.4版本 ![输入图片说明](图片/p01.png) 2.在CentOS 7.4中找到 isos ![输入图片说明](%E5%9B%BE%E7%89%87/p%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20193940.png) 3.在 isos 中选择 x86_64 ![输入图片说明](%E5%9B%BE%E7%89%87/p%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20194204.png) 4.选择 CentOS-7-x86_64-DVD-1708.iso 进行下载 ![输入图片说明](%E5%9B%BE%E7%89%87/p%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20194354.png) ##### 二、下载 Xshell 7 官网地址:https://www.xshell.com/zh/free-for-home-school/ 进入 XShell 官网,填写姓名和邮箱即可获取下载地址,安装到电脑即可。 ##### 三、CentOS 7.4 的使用 1.打开你的 VMware ,并点击创建虚拟机。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20195431.png) 2.选择经典版本,点击下一步 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20195510.png) 3.选择稍后安装操作系统,点击下一步 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20195617.png) 4.选择 Linux,并选择与之前下载的CentOS 7 一致的版本,点击下一步 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20195715.png) 5.修改虚拟机的名称和安装路径(按需修改,避免 C 盘爆红),点击下一步 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20195928.png) 6.磁盘选择默认的 20 GB,点击虚拟磁盘为单个文件,点击下一步 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20200125.png) 7.点击完成 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20200247.png) 8.点击“编辑虚拟机设置” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20200347.png) 9.点击CD/DVD,点击“使用ISO影像文件”,选择我们下载好的CentOS 7的DVD的iso文件 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20200642.png) 10.点击网络适配器,点击“自定义:特定虚拟网络”,选择 VMnet8(NAT模式) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20200850.png) 11.点击USB控制器,点击移除 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201028.png) 12.点击声卡,点击移除 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201126.png) 13.点击打印机,点击移除 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201253.png) 14.最后,点击“确定”保存 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201348.png) 15.点击“开启虚拟机” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201435.png) 16.选择第一个,选中时字体变白,按下“回车键”,等待。(注意:需将鼠标放入黑屏单击后进入虚拟机,按“Ctrl + Alt”退出虚拟机) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201530.png) 17.默认安装是英文,下滑有中文选择,选好后点击 Continue 。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201857.png) 18.编辑时间 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20201936.png) 19.编辑时间与电脑时间一致,点击完成 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202035.png) 20.点击软件选择,勾选如下选项,点击完成 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202235.png) 21.点击安装位置 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202308.png) 22.点击我要配置分区,点击完成 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202327.png) 23.选择标准分区,然后添加区域 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202353.png) 24.按如下“三张图”添加“三个区域” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202436.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202809.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202604.png) 25.检查分配好后,点击完成 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20202911.png) 26.点击接受更改,完成配置 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20203013.png) 27.点击“安装” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20203044.png) 28.设置 ROOT 密码,完成后等待安装(时间较长),安装后点击“重启” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20203105.png) ##### 四、虚拟机网络配置 1.查看虚拟机网络,点击“虚拟网络编辑器” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20233102.png) 2.选择 VM8 查看 NAT设置。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20233124.png) 3.记住 NAT设置 的“子网掩码”和“网关” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20233202.png) 4.点击电脑设置,找到网络设置,点击高级网络设置。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20233651.png) 5.选择 VM8 点击“编辑” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20233716.png) 6.选择 IPv4 进行属性编辑 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20233730.png) 7.“子网掩码”和“网关”为刚才记录的 NAT设置 中的“子网掩码”和“网关”,IP地址 将网关最后的2改为其它数字(例如:网关:192.168.124.2,则IP地址改为:192.168.124.101) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20233937.png) 8.返回 VMware 软件,点击开启虚拟机,选择进入第一个系统,等待一会 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20204140.png) 9.输入“用户”和“密码” ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20204238.png) 10.配置虚拟机网络 (1)进入到 network-scripts 目录下,把 ifcfg-ens32 重命名为 ifcfg-eth0 ``` cd /etc/sysconfig/network-scripts/ //进入到 network-scripts 目录下 ``` ``` mv ifcfg-ens32 ifcfg-eth0 //重命名 ``` (2)编辑 ifcfg-eth0 网络配置文件 ``` vi ifcfg-eth0 //修改网络配置文件 ``` 可以看到如下代码 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20204514.png) 按 i 键进行编辑,编辑成如下图所示,其中 NETMASK 是你的 NAT设置 中的“子网掩码”,GATEWAY 是你的NAT设置 中的“网关”,IPADDR 是你虚拟机的 IP地址 将网关最后的2改为其它数字,但不可与电脑网络配置中的一样(例如:网关:192.168.124.2,电脑配置的IP地址改为:192.168.124.101,则虚拟机的 IP地址 可配置:192.168.121.102) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20204914.png) 配置完成后,按 SEC键 后输入 :wq! 保存设置。 11.重启网络服务 ``` service network restart //重启网络服务 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20205145.png) 12.设置 DNS 地址 ``` vi /etc/resolv.conf //编辑DNS地址,初始是空的 ``` 添加如下图代码 ``` nameserver 114.114.114.114 ``` ``` nameserver 8.8.8.8 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20205326.png) 13.关闭防火墙,保证能外联 ``` systemctl stop firewalld.service //关闭防火墙 ``` ``` systemctl disable firewalld.service //虚拟机开机不启用防火墙 ``` ``` iptables -L ``` 得到如下图代表完成 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20220715.png) 14.永久关闭SELinux防火墙 ``` vi /etc/sysconfig/selinux ``` 将如下图位置更改为:SELINUX=disabled ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20220907.png) 输入:halt 关闭虚拟机 在 VMware 上方状态栏重启虚拟机,并登录 输入:sestatus 查看SELinux防火墙状态如下图 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20221156.png) 15.设置权限 ``` chmod +x /etc/rc.d/rc.local //设置权限 ``` ``` cd /etc/rc.d //进入文件 ``` ``` ll //查看设置,如下图即为完成 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20221404.png) ###### 16.连接 Xshell 7 (1)在 VMware 上方状态栏重启虚拟机,不用登录,到如下界面即可 ![输入图片说明](图片/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20221750.png) (2)打开 Xshell 7 选择新建 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20221853.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20221928.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222002.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222010.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222048.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222109.png) 出现如下界面说明连接成功 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222135.png) (3)查看是否可以上网 ``` ping www.baidu.com //出现如下界面说明可以,此时按 Ctrl+C 取消连接 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222511.png) 到此,你已经安装好了虚拟机。 ##### 五、Linux虚拟环境安装软件 1.由于 CentOS 镜像已经停止服务,我们需要更换镜像(这里选择阿里云镜像) (1)删除原 yum 源 ``` cd /etc/yum.repos.d ``` ``` rm -rf /etc/yum.repos.d/* ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222621.png) (2)下载阿里云的 yum 源 ``` curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222728.png) (3)清除旧 yum 缓存,缓存阿里云镜像,缓存有点慢,请耐心等待 ``` yum clean all ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20222923.png) ``` yum makecache ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20223044.png) (4)查看 yum 源信息 ``` yum repolist ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20223114.png) 2.下载基础工具包 ``` sudo yum install -y epel-release ``` ``` sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static ``` 3.在 /opt目录下创建 module、software 文件夹 ``` sudo mkdir /opt/module /opt/software ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20225520.png) 4.备份当前虚拟机,避免后续崩溃 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20225805.png) ###### 5.安装 JDK (1)卸载可能原有的 JDK ``` rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps ``` 如下图是没有自带 JDK,有 JDK 的界面会有不同 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20230314.png) (2)进入 software 文件夹,导入包 ``` cd /opt/software/ ``` ``` rz ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20230904.png) 弹出与 win 相同的导入界面,找到自己的 JDK 的 gz 包 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20230918.png) 第一次导入会出现乱码,不要慌,这是正常情况,按 Ctrl+C 后重新执行 rz 指令 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20230953.png) 直到没有乱码弹出,查看是否导入成功 ``` ls /opt/software/ ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20231142.png) (3)解压包,将 jdk-8u212-linux-x64.tar.gz 解压到 module 文件( JDK 版本和你自己的一致) ``` tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/ ``` (4)配置 JDK 环境变量 ``` sudo vim /etc/profile.d/my_env.sh ``` 在空白中添加如下变量 ``` #JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_212 export PATH=$PATH:$JAVA_HOME/bin ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20231650.png) 添加后,按 SEC键 后输入 :wq! 保存设置。 输入 halt 退出,在 VMware 中重启虚拟机 (5)检查是否安装成功 ``` java -version ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20231915.png) ###### 6.安装Hadoop CentOS不会自带Hadoop,所以没有删除操作。导入操作与 JDK 一致。 (1)解压包( Hadoop 版本和你自己的一致) ``` tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/ ``` (2)配置 Hadoop 环境变量 ``` sudo vi /etc/profile ``` 在 profile 的末尾添加环境变量 ``` #HADOOP_HOME ``` ``` export HADOOP_HOME=/opt/module/hadoop-3.1.3 ``` ``` export PATH=$PATH:$HADOOP_HOME/bin ``` ``` export PATH=$PATH:$HADOOP_HOME/sbin ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20232705.png) 添加后,按 SEC键 后输入 :wq! 保存设置。 (3)使修改文件生效 ``` source /etc/profile ``` (4)检查是否安装成功 ``` hadoop version ``` 输入:halt 关闭虚拟机 保存虚拟机当前状态 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-09-25%20225805.png) ##### 六、完全分布式运行模式搭建 ###### 1.集群虚拟机准备 (1)打开虚拟机,并修改主机名称为hadoop101(建议以主机 IP 后三位为编码,方便记忆与使用) ``` sudo hostnamectl --static set-hostname hadoop113 ``` (2)配置集群中的虚拟机 IP 与名称 ``` sudo vim /etc/hosts ``` 输入 IP 与名称,如下 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20085635.png) 保存好后,修改 hosts 文件,操作如下。 在 Windows 中找到 hosts 文件 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20085745.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20085811.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20085824.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20085833.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20085848.png) 用记事本打开 hosts 文件,进行编辑 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20090214.png) 在 hosts 文件中添加虚拟机 IP 与名称 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20090237.png) 另存在桌面为 hosts.txt 文件,将后缀 .txt 删除后,拖入原来的目录将其替换。 (3)创建 atguigu 用户 ``` sudo useradd atguigu sudo passwd atguigu ``` 输入密码后,即为创建成功 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20241008090928.png) (4)配置 atguigu 用户权限 重启虚拟机,使得用户生效 ``` reboot ``` 给予 atguigu 用户 root 权限 ``` visudo ``` 在 sudo 文件中添加,如下图所示 ``` atguigu ALL=(ALL) ALL ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20090918.png) 输入 :wq! 保存。 ###### 2.克隆虚拟机 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20091529.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20091542.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20091627.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20091639.png) ###### 注意事项 需要保证克隆的虚拟机与其他虚拟机不在同一目录下才能同时开多台虚拟机。在“映像”所在目录下新建一个小目录。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20110823.png) 我的“映像”在虚拟机目录下,则在该目录下新建一个小目录。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20110834.png) ###### 3.修改克隆虚拟机的 IP 与名称 打开克隆好的虚拟机,输入以下代码 ``` sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 ``` 将 IP 地址修改为之前 hosts 文件中的 IP 地址。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20093015.png) 修改名称为之前 hosts 文件中的名称。(如:我在 hosts 文件中的第二个名称为 hadoop201) ``` sudo hostnamectl --static set-hostname hadoop201 ``` ###### 4.编写集群分发脚本 xsync 在/home/atguigu目录下创建 xsync 文件(不同人之前创建的用户可能不同,如我的是 jyx ) ``` cd /home/atguigu ``` ``` vim xsync ``` 在 xsync 文件中编入以下代码(注意:第六行 host 名称填自己的) ``` if [ $# -lt 1 ] then echo Not Enough Arguement! exit; fi for host in hadoop201 hadoop202 hadoop113 do echo ==================== $host ==================== for file in $@ do if [ -e $file ] then pdir=$(cd -P $(dirname $file); pwd) fname=$(basename $file) ssh $host "mkdir -p $pdir" rsync -av $pdir/$fname $host:$pdir else echo $file does not exists! fi done done ``` 修改 xsync 执行权限 ``` chmod +x xsync ``` 将 xsync 文件移动到 bin 文件下,便于全局调用 ``` sudo mv xsync /bin/ ``` 测试 xsync 文件能否执行。 打开集群中的所有虚拟机,在已经有 xsync 文件的虚拟机中输入以下代码 ``` sudo xsync /bin/xsync ``` 会弹出输入其余虚拟机密码,密码要输入两次,得到如下图则为完成。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-08%20140859.png) ###### 5.集群配置 (1)用户准备 打开所有克隆机,都输入(注意:有些人之前创建的用户可能不是 atguigu ,需要输入自己创建的用户,或者再创建一个atguigu用户,并给予所有权限。) ``` sudo chown atguigu:atguigu /opt/module /opt/software ``` 集群配置规划如下图: ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20104818.png) (1)核心配置文件(在主机上配置) 进入hadoop文件 ``` cd $HADOOP_HOME/etc/hadoop ``` 配置 core-site.xml文件 ``` vim core-site.xml ``` 在文件中输入如下内容,注意文件头的配置与代码一致、主机名填自己的、用户名填自己的 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20101936.png) ``` ``` ``` fs.defaultFS hdfs://hadoop113:8020 hadoop.data.dir /opt/module/hadoop-3.1.3/data hadoop.proxyuser.jyx.hosts * hadoop.proxyuser.jyx.groups * ``` 检查编辑好后,保存退出,使用 cat 命令查看 (2)配置 HDFS 文件(在主机上配置) 进入hadoop文件 ``` cd $HADOOP_HOME/etc/hadoop ``` 配置 hdfs-site.xml 文件 ``` vim hdfs-site.xml ``` 在文件中输入如下内容,注意文件头的配置与代码一致、红框内的主机名填自己的第二台克隆机名称 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20102005.png) ``` ``` ``` dfs.namenode.name.dir file://${hadoop.data.dir}/name dfs.datanode.data.dir file://${hadoop.data.dir}/data dfs.namenode.checkpoint.dir file://${hadoop.data.dir}/namesecondary dfs.client.datanode-restart.timeout 30 dfs.namenode.secondary.http-address hadoop202:9868 ``` 检查编辑好后,保存退出,使用 cat 命令查看 (3)配置 YARN 文件(在主机上配置) 进入hadoop文件 ``` cd $HADOOP_HOME/etc/hadoop ``` 配置 yarn-site.xml 文件 ``` vim yarn-site.xml ``` 在文件中输入如下内容,注意文件头的配置与代码一致、红框内的主机名填自己的第一台克隆机名称 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20102041.png) ``` ``` ``` yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname hadoop201 yarn.nodemanager.env-whitelist JAVA_HOME, HADOOP_COMMON_HOME, HADOOP_HDFS_HOME, HADOOP_CONF_DIR, CLASSPATH_PREPEND_DISTCACHE, HADOOP_YARN_HOME, HADOOP_MAPRED_HOME ``` 检查编辑好后,保存退出,使用 cat 命令查看 (4)配置 MapReduce 文件(在主机上配置) 进入hadoop文件 ``` cd $HADOOP_HOME/etc/hadoop ``` 配置 mapred-site.xml 文件 ``` vim mapred-site.xml ``` 在文件中输入如下代码 ``` mapreduce.framework.name yarn ``` 检查编辑好后,保存退出,使用 cat 命令查看 (5)确定以上文件配置正确后,在集群上分发 Hadoop 配置文件,出现如下图为分发成功。 ``` xsync /opt/module/hadoop-3.1.3/etc/hadoop/ ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20102315.png) ###### 6.集群单点启动 (1)打开主机,格式化 NameNode 文件 ``` hdfs namenode -format ``` (2)在主机上重新启动 NameNode 文件 ``` hdfs --daemon start namenode ``` 完成后输入 jps 查看进程,如下图(每个机子进程号不同,不用在意。) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20103509.png) (3)在所有机子上都执行如下指令(第一次会显示未找到 datanode ,不用管,再次输入一次就好了) ``` hdfs --daemon start datanode ``` ###### 7.配置 SSH 无密码登录 打开主机,输入下面代码,生成公钥与私钥文件 ``` ssh-keygen -t rsa ``` 输入后,按三次回车,得到如下图则为完成。 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20130010.png) 将公钥拷贝到免密登录的机器上。(你自己集群中所有机子的名称) ``` ssh-copy-id hadoop113 ``` ``` ssh-copy-id hadoop201 ``` ``` ssh-copy-id hadoop202 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20130137.png) 上面的操作完成了在主机上使用 root 用户对其他克隆机免密登录。 接下来要进行集群用户的免密登录。 ###### 注意集群中所有机子都需要进行一次以下代码 登录用户 atguigu(登录自己的用户,例如我的是:jyx) ``` su - jyx ``` 生成密钥(输入代码后按三次回车,得到下图为完成) ``` ssh-keygen -t rsa ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20173829.png) 分发密钥(需要输入对应分发机子上的 atguigu 用户密码,机子名称为你们自己的机子) ``` ssh-copy-id hadoop113 ``` ``` ssh-copy-id hadoop201 ``` ``` ssh-copy-id hadoop202 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20173855.png) 分发密钥后,返回 root 用户,赋予 jyx 用户权限 ``` su - root ``` ``` sudo chown -R jyx:jyx /opt/module /opt/software ``` 完成后将所有机子重启。 ###### 8.群起集群 开启集群中所有机子 (1)打开主机配置 workers 文件 ``` vim /opt/module/hadoop-3.1.3/etc/hadoop/workers ``` 在文件中添加自己集群的所有机子名称(如下图) ``` hadoop113 hadoop201 hadoop202 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20174852.png) 分发文件 ``` xsync /opt/module/hadoop-3.1.3/etc ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20183709.png) 修改显示文件 ``` cd $HADOOP_HOME/share/hadoop/hdfs/webapps/static vim dfs-dust.js ``` 找到 61 行如下 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20151439.png) 将返回值修改为如下 ``` return new Date(Number(v)).toLocaleString(); ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20151723.png) 分发 dfs-dust.js 文件 ``` xsync $HADOOP_HOME/share/hadoop/hdfs/webapps/static/dfs-dust.js ``` (2)启动集群 因为之前单点启动过,所以需要清理所有机子上的 data 和 logs 文件 打开所有机子都输入下面的代码(会弹出询问,输入 yes+回车,直至询问结束,一定要删干净!!!) ``` rm -r /opt/module/hadoop-3.1.3/logs rm -r /opt/module/hadoop-3.1.3/data ``` 在主机切换到 atguigu 用户(我的是 jyx ) ``` su - jyx ``` 在主机格式化 NameNode 文件 ``` hdfs namenode -format ``` 启动 HDFS (localhost会显示无法获取······,不用管再输入一次,得到如下图则为完成) ``` start-dfs.sh ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20153617.png) 打开配置了 ResourceManager 文件的机子(hadoop103,我的是hadoop201)输入以下代码 ``` su - jyx start-yarn.sh ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20153721.png) 查看 yarn 的启动情况,如下图则为成功,记住图中黄色框中的地址,方便以后查看虚拟机状态 ``` yarn node -list ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-15%20185456.png) 在浏览器中查看 SecondaryNameNode,在浏览器中输入以下网址(输入有 SecondaryNameNode 的机子,在执行 start-dfs.sh 代码的响应中可以找到,例如我的是 hadoop202 ) ``` http://hadoop202:9868/status.html ``` 可以看到如下图(如果不是如下图,而是显示 hadoop,2019,可清理浏览器缓存再输入网址查看。) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20153811.png) 完成后关闭所有虚拟机,并保存快照。 ###### 9.配置历史服务器和日志的聚集 打开所有集群中的虚拟机 (1)在主机上配置历史服务器 登录 atguigu 用户(我的是 jyx ) ``` su - jyx ``` 配置 mapred-site.xml 文件 ``` cd $HADOOP_HOME/etc/hadoop ``` ``` vi mapred-site.xml ``` 将下面代码加入 configuration 中( hadoop 位置填自己主机),如下图 ``` mapreduce.jobhistory.address hadoop113:10020 mapreduce.jobhistory.webapp.address hadoop113:19888 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20183947.png) 分发配置好的 mapred-site.xml 文件 ``` xsync $HADOOP_HOME/etc/hadoop/mapred-site.xml ``` (2)在主机上配置日志的聚集 配置 yarn-site.xml 文件 ``` vim yarn-site.xml ``` 在 yarn-site.xml 文件中添加如下代码( hadoop 位置填自己主机),如下图 ``` yarn.log-aggregation-enable true yarn.log.server.url http://hadoop113:19888/jobhistory/logs yarn.log-aggregation.retain-seconds 604800 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20190352.png) 分发配置好的文件 ``` xsync $HADOOP_HOME/etc/hadoop/yarn-site.xml ``` (3)启动集群,查看 jobhistory 网页 在主机登录 atguigu 用户启动集群 ``` su - atguigu ``` ``` start-dfs.sh ``` 在 hadoop103 (配置了 ResourceManager 文件的机子)启动 yarn 文件 ``` su - atguigu start-yarn.sh ``` 在主机启动历史服务器 ``` mapred --daemon start historyserver ``` 输入 jps 查看进程如下 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20172427.png) 查看 jobhistory 网页,在浏览器中输入 http://主机:19888/jobhistory ``` http://hadoop113:19888/jobhistory ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-16%20185322.png) ###### 10.集群时间同步(以下代码都在 root 用户运行) (1)关闭集群中所有机子的 ntpd 服务(集群中每台机子都要运行以下代码) ``` systemctl stop ntpd systemctl disable ntpd ``` (2)设置主机时间与电脑时间同步 修改主机中的 ntp.conf 文件,如下图 ``` vim /etc/ntp.conf ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20241021231437.png) 在 ntp.conf 文件的最后添加以下代码 ``` server 127.127.1.0 fudge 127.127.1.0 stratum 10 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20174517.png) 修改主机中的 ntpd 文件 ``` vim /etc/sysconfig/ntpd ``` 在文件中添加以下代码 ``` SYNC_HWCLOCR=yes ``` 重启主机的 ntpd 服务 ``` systemctl start ntpd systemctl enable ntpd ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20175147.png) (3)非主机配置(除主机外,所有机子都需要运行以下代码) 修改时间同步配置 ``` crontab -e ``` 添加以下代码(每一分钟与主机时间同步一次) ``` */1 * * * * /usr/sbin/ntpdate hadoop113 ``` (4)测试 在非主机上修改时间 ``` date -s "2014-10-20 12:00:00" ``` 等待一分钟后输入以下代码查看时间变化如下图 ``` date ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20180049.png) ###### 11.Hadoop 编译源码(集群中所有机子都需要安装) Maven 下载地址:https://dlcdn.apache.org/maven/ Ant 下载地址:https://archive.apache.org/dist/ant/binaries/ (1)Maven 安装与配置 导入压缩包 ``` cd /opt/software/ rz ``` 解压(这里下载的是 apache-maven-3.9.6-bin.tar.gz ) ``` tar -zxvf apache-maven-3.9.6-bin.tar.gz -C /opt/module/ ``` 配置 settings.xml 文件 ``` cd /opt/module/apache-maven-3.9.6 vi conf/settings.xml ``` 下滑找到如图所示位置更改文件中的代码 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20192258.png) ``` nexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public ``` 配置 Maven 环境变量 ``` vi /etc/profile ``` 在最下面添加以下代码 ``` #MAVEN_HOME export MAVEN_HOME=/opt/module/apache-maven-3.9.6 export PATH=$PATH:$MAVEN_HOME/bin ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20193821.png) 重启环境变量文件 ``` source /etc/profile ``` 查看是否安装与配置成功 ``` mvn -version ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20195557.png) (2)Ant 安装与配置 导入压缩包 ``` cd /opt/software/ rz ``` 解压(这里下载的是 apache-ant-1.10.0-bin.tar.gz ) ``` tar -zxvf apache-ant-1.10.0-bin.tar.gz -C /opt/module/ ``` 配置 Ant 环境变量 ``` cd /opt/module/apache-ant-1.10.0 vi /etc/profile ``` 在最下面添加以下代码 ``` #ANT_HOME export ANT_HOME=/opt/module/apache-ant-1.10.0 export PATH=$PATH:$ANT_HOME/bin ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20194046.png) 重启环境变量文件 ``` source /etc/profile ``` 查看是否安装与配置成功 ``` ant -version ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-20%20194247.png) (3)Protobuf 安装与配置 工具准备 ``` yum install glibc-headers ``` ``` yum install gcc-c++ ``` ``` yum install make ``` ``` yum install cmake ``` ##### 七、服役新节点和退役旧节点 ###### 1.克隆新机子 克隆 104 号机子,得到 105 号机子( 104 号机子为原集群中非 hdfs 与 yarn 启动机) 修改 105 号机子的IP地址 ``` sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 ``` 修改 105 号机子的名称 ``` sudo hostnamectl --static set-hostname hadoop203 ``` ###### 2.修改集群文件(在主机上操作) (1)修改 hosts 文件,在 hosts 中添加新的机子(注意:win 中的 hosts 文件也要一并修改) ``` vim /etc/hosts ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20231715.png) (2)修改 xsync 文件,在 xsync 中添加新的机子 ``` sudo vim /bin/xsync ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20231812.png) 分发 xsync 文件 ``` sudo xsync /bin/xsync ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20231838.png) 分发 hosts 文件 ``` sudo xsync /etc/hosts ``` (3)修改 workers 文件,注意:原本 workers 文件中有 3 台机子,即集群有 3 个副本,添加新机子后集群中有 4 台机子,即 4 个副本,在后续的黑名单退役时,105 号机子无法退役(黑名单退役需满足:集群中的机子数量大于副本数量),如果需要立即退役:1.修改 workers 文件后 105 号机子采用白名单退役;2.不修改 workers 文件 105 号机子采用单点启动。 ``` vim /opt/module/hadoop-3.1.3/etc/hadoop/workers ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20231925.png) 分发 workers 文件 ``` xsync /opt/module/hadoop-3.1.3/etc ``` ###### 3.设置 105 号机子在集群中的无密 (1)在主机上分发 root 密钥(主机:102) ``` ssh-copy-id hadoop203 ``` (2)分发原本集群上 atguigu 用户密钥(102号机子、103号机子、104号机子) ``` su - jyx ssh-copy-id hadoop203 ``` (3)分发 105 号机子 atguigu 用户的密钥 生成密钥 ``` su - jyx ssh-keygen -t rsa ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20232209.png) 分发密钥 ``` ssh-copy-id hadoop113 ``` ``` ssh-copy-id hadoop201 ``` ``` ssh-copy-id hadoop202 ``` ``` ssh-copy-id hadoop203 ``` ###### 4.启动集群 (1)删除 105 号机子上克隆的 data 和 logs 文件 ``` rm -rf /opt/module/hadoop-3.1.3/logs ``` ``` rm -rf /opt/module/hadoop-3.1.3/data ``` (2)重启 105 号机子的环境变量 ``` source /etc/profile ``` (3)启动集群 在主机上启动 HDFS (主机:102) ``` start-dfs.sh ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20233546.png) 在配置 YARN 文件的机子上启动 YARN 服务(103号机子) ``` start-yarn.sh ``` 在主机上查看集群状态,得到如下两图则为完成。 ``` hadoop dfsadmin -report ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20233704.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20233716.png) 关闭虚拟机,并保存快照 ###### 5.黑名单退役旧节点 (1)在主机上使用 atguigu 用户进入 hadoop 文件,并创建黑名单文件 ``` su - jyx cd $HADOOP_HOME/etc/hadoop touch dfs.hosts.exclude ``` (2)将 105 号机子加入黑名单 ``` vim dfs.hosts.exclude ``` (3)修改 hdfs-site.xml 文件使黑名单生效 ``` vim hdfs-site.xml ``` 在文件中加入以下代码 ``` dfs.hosts.exclude /opt/module/hadoop-3.1.3/etc/hadoop/dfs.hosts.exclude ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20234409.png) 分发修改后的 hdfs-site.xml 文件 ``` xsync hdfs-site.xml ``` 关闭虚拟机,并保存快照 ##### 八、配置 Zookeeper 集群 Zookeeper官网下载地址:https://zookeeper.apache.org/ ###### 1.在集群中安装 Zookeeper 在主机使用 atguigu 用户导入安装包(主机:102,如果第一次导入出现乱码,重新导入即可) ``` su - jyx cd /opt/software rz ``` ###### 2.配置 Zookeeper 集群 (1)解压安装包到 module 文件夹,并在 Zookeeper 下创建 zkData 文件 ``` tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C /opt/module/ ``` ``` cd /opt/module/apache-zookeeper-3.8.4-bin/ ``` ``` mkdir -p zkData ``` (2)修改 conf 文件 ``` cd conf ``` ``` mv zoo_sample.cfg zoo.cfg ``` ``` vim zoo.cfg ``` 在 zoo.cfg 文件中修改 dataDir 参数,在文件中添加新 zookeeper 集群信息,如下图所示 ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20235444.png) ``` dataDir=/opt/module/apache-zookeeper-3.8.4-bin/zkData ``` ``` #################### cluster #################### server.2=hadoop113:2888:3888 server.3=hadoop201:2888:3888 server.4=hadoop202:2888:3888 ``` (3)在 zkData 目录下创建 myid 文件 ``` cd /opt/module/apache-zookeeper-3.8.4-bin/zkData touch myid ``` 在 myid 文件中输入服务编号 2 ``` vi myid ``` 分发 zookeeper 集群文件 ``` xsync /opt/module/apache-zookeeper-3.8.4-bin/ ``` (4)修改集群中除主机外,其余机子的 myid 文件(103号、104号) 在 103 号机子修改 myid 文件的 2 为 3 在 104 号机子修改 myid 文件的 2 为 4 ``` su - jyx vim /opt/module/apache-zookeeper-3.8.4-bin/zkData/myid ``` ###### 3.启动 zookeeper 集群 分别启动 zookeeper 集群(在102号、103号、104号机子上分别运行下面代码) ``` cd /opt/module/apache-zookeeper-3.8.4-bin/ bin/zkServer.sh start ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20235715.png) 查看集群状态,三台机子都运行以下代码,得出结果如下三图即为完成 ``` bin/zkServer.sh status ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-28%20235950.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20000013.png) ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20000022.png) 关闭虚拟机,并保存快照 ##### 九、配置 HDFS-HA ###### 1.修改 hdfs 文件(主机上,主机:102) ``` su - jyx cd $HADOOP_HOME/etc/hadoop ``` (1)修改 hadoop-env.sh 文件 ``` vim hadoop-env.sh ``` 在文件最后添加以下代码 ``` export JAVA_HOME=/opt/module/jdk1.8.0_212 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20000710.png) 分发 hadoop-env.sh 文件 ``` xsync hadoop-env.sh ``` (2)修改 core-site.xml 文件 ``` vim core-site.xml ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20000832.png) 分发 core-site.xml 文件 ``` xsync core-site.xml ``` (3)修改 hdfs-site.xml 文件 ``` vim hdfs-site.xml ``` 在文件中添加以下代码,黄框内改为自己的机子 ``` dfs.nameservices mycluster dfs.ha.namenodes.mycluster nn1,nn2,nn3 dfs.namenode.rpc-address.mycluster.nn1 hadoop113:8020 dfs.namenode.rpc-address.mycluster.nn2 hadoop201:8020 dfs.namenode.rpc-address.mycluster.nn3 hadoop202:8020 dfs.namenode.http-address.mycluster.nn1 hadoop113:9870 dfs.namenode.http-address.mycluster.nn2 hadoop201:9870 dfs.namenode.http-address.mycluster.nn3 hadoop202:9870 dfs.namenode.shared.edits.dir qjournal://hadoop113:8485;hadoop201:8485;hadoop202:8485/mycluster dfs.client.failover.proxy.provider.mycluster org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider dfs.ha.fencing.methods sshfence dfs.ha.fencing.ssh.private-key-files /home/jyx/.ssh/id_ecdsa dfs.journalnode.edits.dir ${hadoop.data.dir}/jn ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20001139.png) 分发 hdfs-site.xml 文件 ``` xsync hdfs-site.xml ``` ###### 2.启动集群 (1)在每个机子上启动 journalnode 服务和 Zookeeper 服务,并清除 data 和 logs 文件(102号、103号、104号) ``` su - jyx cd /opt/module/apache-zookeeper-3.8.4-bin bin/zkServer.sh start hdfs --daemon start journalnode rm -rf /opt/module/hadoop-3.1.3/logs rm -rf /opt/module/hadoop-3.1.3/data ``` (2)在主机上格式化namenode,并启动(主机:102) ``` hdfs namenode -format hdfs --daemon start namenode ``` (3)在其余机子上同步主机的 namenode 数据,并启动(103号、104号) ``` hdfs namenode -bootstrapStandby hdfs --daemon start namenode ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20002538.png) (4)启动所有节点的 datanode(102号、103号、104号) ``` hdfs --daemon start datanode ``` (5)将主机切换为 Active(主机:102) ``` hdfs haadmin -transitionToActive nn1 ``` (6)查看主机状态(主机:102) ``` hdfs haadmin -getServiceState nn1 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20002704.png) 关闭虚拟机,并保存快照 ###### 3.配置 HDFS-HA 自动故障转移 在主机修改 hadoop 文件(主机:102) ``` su - jyx cd $HADOOP_HOME/etc/hadoop ``` (1)修改 hdfs-site.xml 文件 ``` vim hdfs-site.xml ``` 在文件中添加以下代码 ``` dfs.ha.automatic-failover.enabled true ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20003206.png) 分发 hdfs-site.xml 文件 ``` xsync hdfs-site.xml ``` (2)修改 core-site.xml 文件 ``` vim core-site.xml ``` 在文件中添加以下代码(机子改成自己的) ``` ha.zookeeper.quorum hadoop113:2181,hadoop201:2181,hadoop202:2181 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20003252.png) 分发 core-site.xml 文件 ``` xsync core-site.xml ``` (3)启动集群的 Zookeeper 服务(102号、103号、104号) ``` su - jyx cd /opt/module/apache-zookeeper-3.8.4-bin bin/zkServer.sh start ``` (4)初始化 Zookeeper 集群服务 ``` hdfs zkfc -formatZK ``` (5)启动 HDFS 服务(主机:102) ``` start-dfs.sh ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20004055.png) (6)验证是否配置成功 在主机上断开服务,需要输入 root 用户密码 ``` service network stop ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20004201.png) 查看自动转移的机子状态(103号机子) ``` hdfs haadmin -getServiceState nn2 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20004224.png) 关闭虚拟机,并保存快照 ##### 十、配置 YARN-HA ###### 1.修改 yarn 文件(主机上,主机:102) ``` su - jyx cd $HADOOP_HOME/etc/hadoop ``` 修改 yarn-site.xml 文件 ``` vim yarn-site.xml ``` 在文件中添加以下代码,黄框内填自己的机子 ``` yarn.resourcemanager.ha.enabled true yarn.resourcemanager.cluster-id cluster-yarn1 yarn.resourcemanager.ha.rm-ids rm1,rm2 yarn.resourcemanager.hostname.rm1 hadoop113 yarn.resourcemanager.hostname.rm2 hadoop201 yarn.resourcemanager.zk-address hadoop113:2181,hadoop201:2181,hadoop202:2181 yarn.resourcemanager.recovery.enabled true yarn.resourcemanager.store.class org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20004715.png) 分发 yarn-site.xml 文件 ``` xsync yarn-site.xml ``` ###### 2.启动集群 (1)启动集群的 Zookeeper 服务(102号、103号、104号) ``` su - jyx cd /opt/module/apache-zookeeper-3.8.4-bin bin/zkServer.sh start ``` (2)启动集群(主机:102) ``` start-dfs.sh ``` (3)启动 YARN 服务(主机:102) ``` start-yarn.sh ``` (4)查看 YARN-HA 服务状态(103号) ``` yarn rmadmin -getServiceState rm2 ``` ![输入图片说明](%E5%9B%BE%E7%89%87/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-10-29%20012921.png)