Hadoop环境的准备:
1. 准备模板机(最小化安装)
1.1 安装必要的组件
epel-release psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop
1.2 修改/etc/hosts文件
192.168.202.101 hadoop101
…
1.3 设置防火墙不自启
systemctl stop firewalld
systemctl disable firewalld
1.4 创建jiajia用户
1.5 配置jiajia用户具有root权限
1.6 在/opt目录下创建 software 和 module 两个目录.
并且将 software和 module两个目录的 所属主 和 所属组 都改为jiajia.
2. 准备具体使用的机器:
2.1 基于模板机克隆虚拟机
2.2 修改主机名
2.3 修改ip地址
3. 安装JDK 和 配置环境变量
3.1 通过xftp将jdk的安装包上传到Linux中的/opt/software目录下
3.2 解压到/opt/module目录下
3.3 配置环境变量
1). 阅读 /etc/profile文件中的注释
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
2). 在 /etc/profile.d 目录下创建 my_env.sh
sudo touch /etc/profile.d/my_env.sh
3). 编辑my_env.sh 配置jdk的环境变量
sudo vim /etc/profile.d/my_env.sh
加入如下内容:
#JAVA_HOME
JAVA_HOME=/opt/module/jdk1.8.0_212
PATH=$PATH:$JAVA_HOME/bin
# export all system variable and user variable to global
export PATH JAVA_HOME
4). 配置完后, 需要通过 source /etc/profile 文件让环境变量生效.
如果不生效,建议仔细查看是否配置正确。
如果正确,可尝试关闭xshell窗口,重新打开窗口 或者直接重启linux
测试是否生效:
echo $JAVA_HOME
echo $PATH
4. 安装Hadoop及配置环境变量
4.1 通过xftp将hadoop的安装包上传到Linux中的/opt/software目录下
4.2 解压到/opt/module目录下
4.3 配置环境变量
1). 编辑my_env.sh 配置hadoop的环境变量
sudo vim /etc/profile.d/my_env.sh
加入如下内容:
#JAVA_HOME
JAVA_HOME=/opt/module/jdk1.8.0_212
#HADOOP_HOME
HADOOP_HOME=/opt/module/hadoop-3.1.3
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# export all system variable and user variable to global
export PATH JAVA_HOME HADOOP_HOME
2). 配置完后, 需要通过 source /etc/profile 文件让环境变量生效.
如果不生效,建议仔细查看是否配置正确。
如果正确,可尝试关闭xshell窗口,重新打开窗口 或者直接重启linux
测试是否生效:
echo $HADOOP_HOME
echo $PATH
Hadoop运行模式
1. 本地模式
1.1 不需要进行任何的hadoop相关的配置就能够直接运行,因为Hadoop默认的配置就是本地模式.
1.2 测试两个官方的案例:
grep:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[a-z]+'
wordcount:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput wcoutput
1.3 需要注意的问题:
1).需要注意指定时路径的问题。
2).需要注意输出路径存在的问题
指定的输出路径不能存在,如果存在,则抛出异常。
org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory file:/opt/module/hadoop-3.1.3/wcoutput already exists
2. 伪分布式模式
3. 完全分布式模式
重点:
1. 总结梳理 Hadoop的组成
HDFS的架构
Yarn的架构
MapReduce的架构
2. Hadoop的环境的搭建
- 准备模板机,方便后续使用
- 克隆搭建Hadoop环境的机器,修改主机名,ip等
- 安装JDK 配置环境变量
- 安装Hadoop 配置环境变量
- 测试Hadoop运行模式之 本地模式(两个官方案例)