1.1、本地模式介绍
1.1.1、特点
运行在单台机器上,没有分布式思想,使用的是本地文件系统
1.1.2、用途
用于对MapReduce程序的逻辑进行调试,确保程序的正确。由于在本地模式下测试和调试MapReduce程序较为方便,因
此,这种模式适宜用在开发阶段。
1.2、平台软件说明
-操作系统: win10
-虚拟软件:Vmware15 Pro
-虚拟机:CentOS_7.8
-软件包存储路径:/opt/software/
-软件安装路径:/opt/apps/
-Jdk:jdk-8u191-linux-x64.tar.gz
-Hadoop:hadoop-2.7.6.tar.gz
-用户:root
1.3、环境搭建:Jdk的安装步骤
1)检查一下是否已经安装过或者系统内置JDK,如果有内置的,将其卸载
[root@master ~]# rpm -qa | grep jdk #如果有,请卸载
[root@master ~]# rpm -e xxxxxxxx --nodeps #将查询到的内置jdk强制卸载
2)上传jdk1.8
将jdk-8u191-linux-x64.tar.gz上传到/opt/software/目录中
3)解压jdk到/opt/apps/下
[root@master ~]# cd /opt/software
[root@master software]# tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/apps/
4)更名jdk
[root@master ~]# cd /opt/apps
[root@master apps]# mv jdk1.8.0_191/ jdk
5)配置Jdk的环境变量:/etc/profile
[root@master apps]# vi /etc/profile
.........省略...........
#jdk environment
export JAVA_HOME=/opt/apps/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
6)使当前窗口生效
[root@master apps]# source /etc/profile
7)验证jdk环境
[root@master apps]# java -version
[root@master apps]# javac
1.4、hadoop目录结构说明
https://archive.apache.org/dist/hadoop/core/hadoop-2.7.6/ 下载地址
1.4.1 Hadoop目录结构如下:(可以提前在window系统上解压,看一下)
--1. bin: hadoop的二进制执行命令文件存储目录
--2. sbin: hadoop的执行脚本存储目录
--3. etc: hadoop的配置文件存储目录
--4. lib/libexec: hadoop的资源库存储目录
--5. share: hadoop的共享资源、开发工具和案例存储目录
--6. include: hadoop的工具脚本存储目录
1.5、环境搭建:Hadoop的安装步骤
1) 上传并解压hadoop
将hadoop软件包上传到/opt/software目录下,然后解压到/opt/apps/目录下
[root@master ~]# cd /opt/software/
[root@master software]# tar -zxvf hadoop-2.7.6.tar.gz -C /opt/apps/
2)更名hadoop
[root@master software]# cd /opt/apps
[root@master apps]# mv hadoop-2.7.6/ hadoop
3)配置hadoop的环境变量
[root@master apps]# vi /etc/profile
.........省略..........
#hadoop environment
export HADOOP_HOME=/opt/apps/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
4)使当前窗口生效
[root@master apps]# source /etc/profile
5)验证hadoop
[root@master apps]# hadoop version
1.6、程序案例演示:grep程序
1)进入hadoop的根目录
[root@master apps]# cd $HADOOP_HOME
2) 创建一个目录/root/hadoop/input
[root@master hadoop]# mkdir input
3) 将$HADOOP_HOME/etc/hadoop/目录下的所有xml文件复制到input目录下
[root@master hadoop]# cp ./etc/hadoop/*.xml ./input
4) 使用hadoop自带的grep程序查找input目录下的文件是否有符合正则表达式'dfs[a-z.]'的字符串
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar
grep input ./output 'dfs[a-z.]'
命令行内容解析:
--1. 使用hadoop命令运行jar文件
--2. 同时指定具体的jar文件的路径
--3. 使用jar文件里的grep主程序
--4. 统计当前目录下的input目录里的内容,
--5. 将统计结果输出到当前目录下的output目录
--6. 给grep指定一个正则表达式
注意:输出目录是一个不存在的目录,程序会自动生成
5) 进入output目录查看part-r-00000文件
[root@master hadoop]# cd ./output
[root@master output]# cat part-r-00000
1.7 案例测试_wordcount.
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar
wordcount input ./output1