大数据学习之hadoop本地模式

我爱海鲸 2022-05-16 14:38:03 暂无标签

简介jdk安装、测试字数统计

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

你好:我的2025