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 修改主机名

  1. #查看主机名
  2. hostname
  3. #永久修改主机名:hostnamectl set-hostname "hostname"
  4. hostnamectl set-hostname hadoop102

2.2 配置网络

  1. #修改静态IP地址
  2. vim /etc/sysconfig/network-scripts/ifcfg-ens33
  3. ##如果这里提示vim命令不存在,就在线安装:yum install vim
  4. #进入之后修改的内容:
  5. #修改为静态ip
  6. BOOTPROTO=static
  7. #添加静态ip地址
  8. IPADDR=192.168.19.102
  9. #添加网关
  10. GATEWAY=192.168.19.2
  11. #添加DNS
  12. DNS1=192.168.19.2
  13. DNS2=8.8.8.8
  14. #重启网络
  15. systemctl restart network

2.3 配置hosts 文件

  1. #修改/etc/hosts文件
  2. [root@hadoop102 ~]# vim /etc/hosts
  3. #追加以下内容:
  4. #IP hostname
  5. 192.168.19.100 hadoop100
  6. 192.168.19.101 hadoop101
  7. 192.168.19.102 hadoop102
  8. 192.168.19.103 hadoop103
  9. 192.168.19.104 hadoop104
  10. 192.168.19.105 hadoop105
  11. 192.168.19.106 hadoop106
  12. 192.168.19.107 hadoop107
  13. 192.168.19.108 hadoop108
  14. 192.168.19.109 hadoop109

2.4 关闭防火墙

  1. #停止NetworkManager服务:
  2. systemctl stop NetworkManager
  3. #设置成开机不启动:
  4. systemctl disable NetworkManager
  5. #重启网络服务:
  6. systemctl restart network
  7. #关闭selinux,防止宿主机访问不了web界面
  8. vim /etc/selinux/config
  9. SELINUX 改为disabled,如下所示
  10. # This file controls the state of SELinux on the system.
  11. # SELINUX= can take one of these three values:
  12. # enforcing - SELinux security policy is enforced.
  13. # permissive - SELinux prints warnings instead of enforcing.
  14. # disabled - No SELinux policy is loaded.
  15. SELINUX=disabled
  16. # SELINUXTYPE= can take one of three values:
  17. # targeted - Targeted processes are protected,
  18. # minimum - Modification of targeted policy. Only selected processes are protected.
  19. # mls - Multi Level Security protection.
  20. SELINUXTYPE=targeted

2.5 创建hadoop用户

  1. #创建hadoop用户来操作Hadoop集群,root权限太大,应避免使用root权限来操作Hadoop
  2. #添加用户
  3. useradd hadoop
  4. #更新密码
  5. passwd hadoop

2.6 赋予hadoop用户管理者权限

  1. #修改 /etc/sudoers 文件,找到%wheel一行,在其下面添加一行,如下所示:
  2. vim /etc/sudoers
  3. ## Allow root to run any commands anywhere
  4. root ALL=(ALL) ALL
  5. ## Allows people in group wheel to run all commands
  6. %wheel ALL=(ALL) ALL
  7. hadoop ALL=(ALL) NOPASSWD:ALL

2.7 使用hadoop用户操作

  1. #切换Hadoop用户的方式
  2. [root@hadoop102 ~]# su - hadoop
  3. [hadoop@hadoop102 ~]$

2.7 在/opt目录下创建文件夹

  1. #进入opt目录
  2. [hadoop@hadoop102 ~]$ cd /opt/
  3. #创建software、module两个文件夹
  4. [hadoop@hadoop102 opt]$ sudo mkdir software module
  5. #修改software、module文件夹的所有者为hadoop
  6. [hadoop@hadoop102 opt]$ sudo chown hadoop:hadoop module/ software/

3 安装JDK

3.1 卸载现有JDK

  1. #查询linux的原有Java
  2. [hadoop@hadoop102 opt]$ rpm -qa | grep java
  3. tzdata-java-2019b-1.el7.noarch
  4. python-javapackages-3.4.1-11.el7.noarch
  5. #卸载原有Java
  6. [hadoop@hadoop102 opt]$ sudo rpm -e tzdata-java-2019b-1.el7.noarch
  7. [hadoop@hadoop102 opt]$ sudo rpm -e python-javapackages-3.4.1-11.el7.noarch
  8. #如果提示有依赖,不能卸载,请在 -e 后面加上 --nodeps 参数

3.2 安装自己的JDK

3.2.1 上传JDK

使用Sftp工具将JDK导入到opt目录下面的software文件夹

3.2.1 解压JDK到/opt/module目录下

  1. #进入 /opt/software 目录
  2. [hadoop@hadoop102 opt]$ cd /opt/software/
  3. #解压jdk到/opt/module目录下
  4. [hadoop@hadoop102 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

3.2.3 配置JDK环境变量

  1. #进入JDK所在的目录
  2. [hadoop@hadoop102 software]$ cd /opt/module/jdk1.8.0_144/
  3. #获取JDK路径
  4. [hadoop@hadoop102 jdk1.8.0_144]$ pwd
  5. /opt/module/jdk1.8.0_144
  6. #编辑 /etc/prpfile.d/env.sh 文件
  7. [hadoop@hadoop102 jdk1.8.0_144]$ sudo vim /etc/profile.d/env.sh
  8. #追加内容如下:
  9. ##JAVA_HOME
  10. export JAVA_HOME=/opt/module/jdk1.8.0_144
  11. export PATH=$PATH:$JAVA_HOME/bin
  12. #刷新环境变量
  13. [hadoop@hadoop102 jdk1.8.0_144]$ source /etc/profile.d/env.sh
  14. #检查jdk是否安装成功,如下所示,安装成功
  15. [hadoop@hadoop102 jdk1.8.0_144]$ java -version
  16. java version "1.8.0_144"
  17. Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
  18. 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目录下

  1. #进入 /opt/software 目录
  2. [hadoop@hadoop102 jdk1.8.0_144]$ cd /opt/software/
  3. #解压Hadoop至 /opt/module
  4. [hadoop@hadoop102 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/

4.3 配置hadoop环境变量

  1. #进入hadoop文件夹所在的目录
  2. [hadoop@hadoop102 software]$ cd /opt/module/hadoop-2.7.2/
  3. #获取hadoop路径
  4. [hadoop@hadoop102 hadoop-2.7.2]$ pwd
  5. /opt/module/hadoop-2.7.2
  6. #编辑 /etc/prpfile.d/env.sh 文件
  7. [hadoop@hadoop102 hadoop-2.7.2]$ sudo vim /etc/profile.d/env.sh
  8. #追加内容如下:
  9. ##HADOOP_HOME
  10. export HADOOP_HOME=/opt/module/hadoop-2.7.2
  11. export PATH=$PATH:$HADOOP_HOME/bin
  12. export PATH=$PATH:$HADOOP_HOME/sbin
  13. #刷新环境变量
  14. [hadoop@hadoop102 hadoop-2.7.2]$ source /etc/profile.d/env.sh
  15. #检查hadoop是否安装成功,如下所示,安装成功
  16. [hadoop@hadoop102 hadoop-2.7.2]$ hadoop version
  17. Hadoop 2.7.2
  18. Subversion Unknown -r Unknown
  19. Compiled by root on 2017-05-22T10:49Z
  20. Compiled with protoc 2.5.0
  21. From source with checksum d0fda26633fa762bff87ec759ebe689c
  22. This command was run using /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar
  23. [hadoop@hadoop102 hadoop-2.7.2]$

注意:后续操作Hadoop请使用hadoop用户

至此,单台虚拟机就搞定了,请继续重复2-4的步骤配置另外两台虚拟机~(当然,想简单省事,在本地也可以在配置好的虚拟机上复制两台虚拟机),记得修改主机名和ip地址

5. Hadoop目录结构

5.1 Hadoop目录结构

  1. #切换至Hadoop所在目录
  2. [hadoop@hadoop102 ~]$ cd /opt/module/hadoop-2.7.2/
  3. [hadoop@hadoop102 hadoop-2.7.2]$ ll
  4. 总用量 28
  5. drwxr-xr-x. 2 hadoop hadoop 194 5 22 2017 bin
  6. drwxr-xr-x. 3 hadoop hadoop 20 5 22 2017 etc
  7. drwxr-xr-x. 2 hadoop hadoop 106 5 22 2017 include
  8. drwxr-xr-x. 3 hadoop hadoop 20 5 22 2017 lib
  9. drwxr-xr-x. 2 hadoop hadoop 239 5 22 2017 libexec
  10. -rw-r--r--. 1 hadoop hadoop 15429 5 22 2017 LICENSE.txt
  11. -rw-r--r--. 1 hadoop hadoop 101 5 22 2017 NOTICE.txt
  12. -rw-r--r--. 1 hadoop hadoop 1366 5 22 2017 README.txt
  13. drwxr-xr-x. 2 hadoop hadoop 4096 5 22 2017 sbin
  14. drwxr-xr-x. 4 hadoop hadoop 31 5 22 2017 share

5.2 重要目录

  1. 1bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
  2. 2etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
  3. 3lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
  4. 4sbin目录:存放启动或停止Hadoop相关服务的脚本
  5. 5share目录:存放Hadoop的依赖jar包、文档、和官方案例

Hadoop的运行模式配置请看 Hadoop运行模式配置