一:模板虚拟机准备

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 重启

1
reboot

三:模板机安装 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包、文档、和官方案例