1 所需平台和软件
- 三台虚拟机
- 平台:Linux 版本:CentOS Linux release 7.7.1908 (Core)
- 软件:
- jdk-8u144-linux-x64.tar
- hadoop-2.7.2.tar.gz
- MobaXterm (免费)(用于远程连接linux,当然你也可以选择Xshell(收费)或者其他软件)
2 虚拟机环境准备
2.1 修改主机名
#查看主机名
hostname
#永久修改主机名:hostnamectl set-hostname "hostname"
hostnamectl set-hostname hadoop102
2.2 配置网络
#修改静态IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
##如果这里提示vim命令不存在,就在线安装:yum install vim
#进入之后修改的内容:
#修改为静态ip
BOOTPROTO=static
#添加静态ip地址
IPADDR=192.168.19.102
#添加网关
GATEWAY=192.168.19.2
#添加DNS
DNS1=192.168.19.2
DNS2=8.8.8.8
#重启网络
systemctl restart network
2.3 配置hosts 文件
#修改/etc/hosts文件
[root@hadoop102 ~]# vim /etc/hosts
#追加以下内容:
#IP hostname
192.168.19.100 hadoop100
192.168.19.101 hadoop101
192.168.19.102 hadoop102
192.168.19.103 hadoop103
192.168.19.104 hadoop104
192.168.19.105 hadoop105
192.168.19.106 hadoop106
192.168.19.107 hadoop107
192.168.19.108 hadoop108
192.168.19.109 hadoop109
2.4 关闭防火墙
#停止NetworkManager服务:
systemctl stop NetworkManager
#设置成开机不启动:
systemctl disable NetworkManager
#重启网络服务:
systemctl restart network
#关闭selinux,防止宿主机访问不了web界面
vim /etc/selinux/config
将 SELINUX 改为disabled,如下所示
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
2.5 创建hadoop用户
#创建hadoop用户来操作Hadoop集群,root权限太大,应避免使用root权限来操作Hadoop
#添加用户
useradd hadoop
#更新密码
passwd hadoop
2.6 赋予hadoop用户管理者权限
#修改 /etc/sudoers 文件,找到%wheel一行,在其下面添加一行,如下所示:
vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
hadoop ALL=(ALL) NOPASSWD:ALL
2.7 使用hadoop用户操作
#切换Hadoop用户的方式
[root@hadoop102 ~]# su - hadoop
[hadoop@hadoop102 ~]$
2.7 在/opt目录下创建文件夹
#进入opt目录
[hadoop@hadoop102 ~]$ cd /opt/
#创建software、module两个文件夹
[hadoop@hadoop102 opt]$ sudo mkdir software module
#修改software、module文件夹的所有者为hadoop
[hadoop@hadoop102 opt]$ sudo chown hadoop:hadoop module/ software/
3 安装JDK
3.1 卸载现有JDK
#查询linux的原有Java
[hadoop@hadoop102 opt]$ rpm -qa | grep java
tzdata-java-2019b-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
#卸载原有Java
[hadoop@hadoop102 opt]$ sudo rpm -e tzdata-java-2019b-1.el7.noarch
[hadoop@hadoop102 opt]$ sudo rpm -e python-javapackages-3.4.1-11.el7.noarch
#如果提示有依赖,不能卸载,请在 -e 后面加上 --nodeps 参数
3.2 安装自己的JDK
3.2.1 上传JDK
使用Sftp工具将JDK导入到opt目录下面的software文件夹
3.2.1 解压JDK到/opt/module目录下
#进入 /opt/software 目录
[hadoop@hadoop102 opt]$ cd /opt/software/
#解压jdk到/opt/module目录下
[hadoop@hadoop102 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
3.2.3 配置JDK环境变量
#进入JDK所在的目录
[hadoop@hadoop102 software]$ cd /opt/module/jdk1.8.0_144/
#获取JDK路径
[hadoop@hadoop102 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144
#编辑 /etc/prpfile.d/env.sh 文件
[hadoop@hadoop102 jdk1.8.0_144]$ sudo vim /etc/profile.d/env.sh
#追加内容如下:
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
#刷新环境变量
[hadoop@hadoop102 jdk1.8.0_144]$ source /etc/profile.d/env.sh
#检查jdk是否安装成功,如下所示,安装成功
[hadoop@hadoop102 jdk1.8.0_144]$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
4 安装Hadoop
4.1 上传 hadoop
使用Sftp工具将Hadoop导入到opt目录下面的software文件夹
4.2 解压hadoop到/opt/module目录下
#进入 /opt/software 目录
[hadoop@hadoop102 jdk1.8.0_144]$ cd /opt/software/
#解压Hadoop至 /opt/module
[hadoop@hadoop102 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
4.3 配置hadoop环境变量
#进入hadoop文件夹所在的目录
[hadoop@hadoop102 software]$ cd /opt/module/hadoop-2.7.2/
#获取hadoop路径
[hadoop@hadoop102 hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2
#编辑 /etc/prpfile.d/env.sh 文件
[hadoop@hadoop102 hadoop-2.7.2]$ sudo vim /etc/profile.d/env.sh
#追加内容如下:
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#刷新环境变量
[hadoop@hadoop102 hadoop-2.7.2]$ source /etc/profile.d/env.sh
#检查hadoop是否安装成功,如下所示,安装成功
[hadoop@hadoop102 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2
Subversion Unknown -r Unknown
Compiled by root on 2017-05-22T10:49Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar
[hadoop@hadoop102 hadoop-2.7.2]$
注意:后续操作Hadoop请使用hadoop用户
至此,单台虚拟机就搞定了,请继续重复2-4的步骤配置另外两台虚拟机~(当然,想简单省事,在本地也可以在配置好的虚拟机上复制两台虚拟机),记得修改主机名和ip地址
5. Hadoop目录结构
5.1 Hadoop目录结构
#切换至Hadoop所在目录
[hadoop@hadoop102 ~]$ cd /opt/module/hadoop-2.7.2/
[hadoop@hadoop102 hadoop-2.7.2]$ ll
总用量 28
drwxr-xr-x. 2 hadoop hadoop 194 5月 22 2017 bin
drwxr-xr-x. 3 hadoop hadoop 20 5月 22 2017 etc
drwxr-xr-x. 2 hadoop hadoop 106 5月 22 2017 include
drwxr-xr-x. 3 hadoop hadoop 20 5月 22 2017 lib
drwxr-xr-x. 2 hadoop hadoop 239 5月 22 2017 libexec
-rw-r--r--. 1 hadoop hadoop 15429 5月 22 2017 LICENSE.txt
-rw-r--r--. 1 hadoop hadoop 101 5月 22 2017 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop 1366 5月 22 2017 README.txt
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 sbin
drwxr-xr-x. 4 hadoop hadoop 31 5月 22 2017 share
5.2 重要目录
(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例
Hadoop的运行模式配置请看 Hadoop运行模式配置