一:模板虚拟机准备 1.1 安装模板虚拟机 IP 地址 192.31.58.100、主机名称 hadoop100、内存 4G、硬盘 40G,采用CentOS-7-x86_64-DVD-2009_2.iso镜像。
1.2 查看网络情况 1 2 3 4 5 6 7 8 9 [root@hadoop100 ~]# ping baidu.com PING baidu.com (110.242.68.66) 56(84) bytes of data. 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=26.3 ms 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=26.7 ms 64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=24.7 ms ^C --- baidu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 6095ms rtt min/avg/max/mdev = 24.764/25.943/26.736/0.870 ms
1.3 安装 epel-release Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包,适用于 RHEL、CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方 repository 中是找不到的。
1 yum install -y epel-release
若为 Linux 安装的是最小系统版,还需要安装如下工具;如果安装的是 Linux 桌面标准版,不需要执行如下操作:
1 2 3 4 # net-tool:工具包集合,包含 ifconfig 等命令 yum install -y net-tools # vim:编辑器 yum install -y vim
1.4 关闭防火墙,关闭防火墙开机自启 在企业开发时,通常单个服务器的防火墙是关闭的,公司整体对外会设置非常安全的防火墙。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@hadoop100 ~]# systemctl stop firewalld [root@hadoop100 ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: inactive (dead) since 二 2022-12-13 10:22:37 CST; 8s ago Docs: man:firewalld(1) Process: 723 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS) Main PID: 723 (code=exited, status=0/SUCCESS) 12月 13 10:13:44 hadoop100 systemd[1]: Starting firewalld - dynamic firewall daemon... 12月 13 10:13:54 hadoop100 systemd[1]: Started firewalld - dynamic firewall daemon. 12月 13 10:13:54 hadoop100 firewalld[723]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure co... now. 12月 13 10:22:36 hadoop100 systemd[1]: Stopping firewalld - dynamic firewall daemon... 12月 13 10:22:37 hadoop100 systemd[1]: Stopped firewalld - dynamic firewall daemon. Hint: Some lines were ellipsized, use -l to show in full.
1.5 卸载自带JDK 如果你的虚拟机是最小化安装不需要执行这一步。
➢ rpm -qa:查询所安装的所有 rpm 软件包
➢ grep -i:忽略大小写
➢ xargs -n1:表示每次只传递一个参数
➢ rpm -e –nodeps:强制卸载软件
1 2 3 4 5 6 7 8 9 10 11 [root@hadoop100 ~]# rpm -qa | grep -i java java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 python-javapackages-3.4.1-11.el7.noarch tzdata-java-2020a-1.el7.noarch java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64 java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 javapackages-tools-3.4.1-11.el7.noarch java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 [root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
1.6 重启虚拟机 1 [root@hadoop100 ~]# reboot
二:克隆虚拟机 2.1 克隆 利用模板虚拟机,克隆出hadoop101,hadoop102两台虚拟机;
2.2 修改ip地址 1 vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.3 修改主机名称 1 hostnamectl set-hostname hadoop101
2.4 重启
三:模板机安装 JDK 3.1 上传JDK 1 2 3 4 5 6 7 8 9 10 11 12 13 # 注意:要卸载已有的JDK # 创建 /opt/software/ 目录 # 创建 /opt/model/ 目录 mkdir /opt/software/ mkdir /opt/software/ # 使用 xftp 传输 jdk 至 /opt/software/ 目录下 [root@hadoop100 software]# pwd /opt/software [root@hadoop100 software]# ll 总用量 142112 -rw-r--r--. 1 root root 145520298 12月 13 11:38 jdk-8u301-linux-x64.tar.gz
3.2 解压JDK 1 2 # 解压 JDK 到/opt/module 目录下,-C 指定解压路径 [root@hadoop100 software]# tar -zxvf jdk-8u301-linux-x64.tar.gz -C /opt/model/
3.3 配置 JDK 环境变量 1 2 3 4 5 6 7 8 9 # 在 /etc/profile.d/ 下新建 ghost_env.sh [root@hadoop100 profile.d]# vim ghost_env.sh [root@hadoop100 profile.d]# cat ghost_env.sh # JAVA_HOME export JAVA_HOME=/opt/model/jdk1.8.0_301 export PATH=$PATH:$JAVA_HOME/bin # 重新加载环境变量,让新的环境变量PATH生效 [root@hadoop100 profile.d]# source /etc/profile
3.4 测试 JDK 是否安装成功 1 2 3 4 [root@hadoop100 ~]# java -version java version "1.8.0_301" Java(TM) SE Runtime Environment (build 1.8.0_301-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
四:模板机安装 Hadoop 4.1 下载地址 Hadoop 下载地址:Index of /dist/hadoop/common/hadoop-3.3.4 (apache.org)
4.2 上传安装包 1 2 3 4 [root@hadoop100 software]# ll 总用量 821272 -rw-r--r--. 1 root root 695457782 12月 13 11:54 hadoop-3.3.4.tar.gz -rw-r--r--. 1 root root 145520298 12月 13 11:38 jdk-8u301-linux-x64.tar.gz
4.3 解压安装包 1 [root@hadoop100 software]# tar -zxvf hadoop-3.3.4.tar.gz -C /opt/model/
4.4 查看安装结果 1 2 3 4 [root@hadoop100 module]# ll 总用量 0 drwxr-xr-x. 10 1024 1024 215 7月 29 21:44 hadoop-3.3.4 drwxr-xr-x. 8 10143 10143 273 6月 9 2021 jdk1.8.0_301
4.5 将Hadoop添加到环境变量 1 2 3 # 获取hadoop安装路径 [root@hadoop100 hadoop-3.3.4]# pwd /opt/module/hadoop-3.3.4
1 2 3 4 5 6 7 8 9 10 11 # 打开/etc/profile.d/ghost_env.sh文件,编辑环境变量 [root@hadoop100 hadoop-3.3.4]# vim /etc/profile.d/ghost_env.sh [root@hadoop100 hadoop-3.3.4]# cat /etc/profile.d/ghost_env.sh # JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_301 export PATH=$PATH:$JAVA_HOME/bin # HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-3.3.4 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
1 2 # 使环境变量生效 [root@hadoop100 ~]# source /etc/profile
4.6 测试是否安装成功 1 2 3 4 5 6 7 [root@hadoop100 ~]# hadoop version Hadoop 3.3.4 Source code repository https://github.com/apache/hadoop.git -r a585a73c3e02ac62350c136643a5e7f6095a3dbb Compiled by stevel on 2022-07-29T12:32Z Compiled with protoc 3.7.1 From source with checksum fb9dd8918a7b8a5b430d61af858f6ec This command was run using /opt/model/hadoop-3.3.4/share/hadoop/common/hadoop-common-3.3.4.jar
五:Hadoop目录结构 5.1 查看hadoop目录结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@hadoop100 hadoop-3.3.4]# ll 总用量 92 drwxr-xr-x. 2 1024 1024 203 7月 29 21:44 bin drwxr-xr-x. 3 1024 1024 20 7月 29 20:35 etc drwxr-xr-x. 2 1024 1024 106 7月 29 21:44 include drwxr-xr-x. 3 1024 1024 20 7月 29 21:44 lib drwxr-xr-x. 4 1024 1024 288 7月 29 21:44 libexec -rw-rw-r--. 1 1024 1024 24707 7月 29 04:30 LICENSE-binary drwxr-xr-x. 2 1024 1024 4096 7月 29 21:44 licenses-binary -rw-rw-r--. 1 1024 1024 15217 7月 17 02:20 LICENSE.txt -rw-rw-r--. 1 1024 1024 29473 7月 17 02:20 NOTICE-binary -rw-rw-r--. 1 1024 1024 1541 4月 22 2022 NOTICE.txt -rw-rw-r--. 1 1024 1024 175 4月 22 2022 README.txt drwxr-xr-x. 3 1024 1024 4096 7月 29 20:35 sbin drwxr-xr-x. 4 1024 1024 31 7月 29 22:21 share
5.2 重要目录 (1)bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例