学习笔记之Hadoop基础

202 阅读2分钟

一、前言

本文使用2.7.3版本的Hadoop

二、官方例子wordcount

1、解压hadoop-2.7.3.tar.gz至/opt/app/下
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/app/
2、查看官方自带例子wordcount的使用
/opt/app/hadoop-2.7.3/bin/hadoop jar /opt/app/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount

wordcount使用说明:Usage: wordcount <in> [<in>...] <out>

该例子是统计文件中单词出现的次数,统计文件可以有多个,不需要手动创建输出文件夹。

3、准备统计文件

a、在/opt/app/hadoop-2.7.3/下,新建input,并将准备好的文件拷贝进去。

b、执行命令

/opt/app/hadoop-2.7.3/bin/hadoop jar /opt/app/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount /input /output

c、查看输出

在output目录下,有两个文件_SUCCESS和part-r-00000,使用cat命令查看part-r-00000

1624347256(1).jpg

三、Hadoop伪分布式配置

参考文档

1、环境准备

a、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld.service
#最好也把selinux关闭
vi /etc/selinux/config
...
SELINUX=disabled
...

b、配置/etc/hosts文件

1624525740(1).jpg

c、配置JDK和Hadoop的环境,/etc/profile

1624525945(1).jpg

2、配置/opt/app/hadoop-2.7.3/etc/hadoop/core-site.xml
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>
<property>
     <!--hadoop文件系统依赖的基本配置,默认是tmp/{$user},有可能会被清理-->
     <name>hadoop.tmp.dir</name>
     <value>/opt/app/hadoop-2.7.3/data/tmp</value>
</property>
3、配置/opt/app/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
<property>
     <name>dfs.replication</name>
     <value>1</value>
</property>
4、格式化HDFS
hdfs namenode -format

目的是生成集群唯一标识符、块池的唯一标识符、namenode进程管理内容(fsimage)的存储路径。有以下信息,表示格式化成功。

1624270475(1).jpg

5、启动NameNode和DataNode
/opt/app/hadoop-2.7.3/sbin/hadoop-daemon.sh start namenode
/opt/app/hadoop-2.7.3/sbin/hadoop-daemon.sh start datanode
6、检查是否启动成功

访问localhost:50070

1624272690(1).jpg

四、YARN配置

1、配置/opt/app/hadoop-2.7.3/etc/hadoop/mapred-site.xml

将mapred-site.xml.template改为mapred-site.xml

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
2、配置/opt/app/hadoop-2.7.3/etc/hadoop/yarn-site.xml
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
3、启动resourcemanager和nodemanager
/opt/app/hadoop-2.7.3/sbin/yarn-daemon.sh start resourcemanager
/opt/app/hadoop-2.7.3/sbin/yarn-daemon.sh start nodemanager
4、检查是否启动成功

a、浏览器访问localhost:8088

1624344608(1).jpg

b、查看启动服务

jps.jpg

c、如果jps命令报错:"bash: jps: 未找到命令..."

vi /root/.bash_profile

1624271244(1).jpg

五、使用yarn运行mapReduce对HDFS上文件分析

1、将需要分析的文件上传至hdfs
在HDFS上新建input文件夹
/opt/app/hadoop-2.7.3/bin/hdfs dfs -mkdir /input
将文件上传到HDFS上
/opt/app/hadoop-2.7.3/bin/hdfs dfs -put wordcount /input
查看文件是否上传成功
/opt/app/hadoop-2.7.3/bin/hdfs dfs -ls /input

1624343324(1).png

2、执行命令
/opt/app/hadoop-2.7.3/bin/hadoop jar /opt/app/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount /input /output
3、查看结果
/opt/app/hadoop-2.7.3/bin/hdfs dfs -cat /output/part-r-00000

1624347184(1).jpg

4、在浏览器访问localhost:50070查看hdfs

1624347601(1).jpg

5、在浏览器访问localhost:8088,查看mapReduce在yarn上的运行记录

1624347759(1).jpg