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#进入之后修改的内容:#修改为静态ipBOOTPROTO=static#添加静态ip地址IPADDR=192.168.19.102#添加网关GATEWAY=192.168.19.2#添加DNSDNS1=192.168.19.2DNS2=8.8.8.8#重启网络systemctl restart network
2.3 配置hosts 文件
#修改/etc/hosts文件[root@hadoop102 ~]# vim /etc/hosts#追加以下内容:#IP hostname192.168.19.100 hadoop100192.168.19.101 hadoop101192.168.19.102 hadoop102192.168.19.103 hadoop103192.168.19.104 hadoop104192.168.19.105 hadoop105192.168.19.106 hadoop106192.168.19.107 hadoop107192.168.19.108 hadoop108192.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 anywhereroot ALL=(ALL) ALL## Allows people in group wheel to run all commands%wheel ALL=(ALL) ALLhadoop 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 javatzdata-java-2019b-1.el7.noarchpython-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_HOMEexport JAVA_HOME=/opt/module/jdk1.8.0_144export 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 -versionjava 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_HOMEexport HADOOP_HOME=/opt/module/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/binexport 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 versionHadoop 2.7.2Subversion Unknown -r UnknownCompiled by root on 2017-05-22T10:49ZCompiled with protoc 2.5.0From source with checksum d0fda26633fa762bff87ec759ebe689cThis 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总用量 28drwxr-xr-x. 2 hadoop hadoop 194 5月 22 2017 bindrwxr-xr-x. 3 hadoop hadoop 20 5月 22 2017 etcdrwxr-xr-x. 2 hadoop hadoop 106 5月 22 2017 includedrwxr-xr-x. 3 hadoop hadoop 20 5月 22 2017 libdrwxr-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.txtdrwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 sbindrwxr-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运行模式配置
