栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

云计算系列(2)初识HDFS与MapReduce

云计算系列(2)初识HDFS与MapReduce

云计算系列(2)初始HDFS与MapReduce 前言

上节课主要是完成了Hadoop的安装,这次主要完成以下内容

  1. 配置HDFS

  2. web端查看HDFS文件系统

  3. 配置yarn

  4. web端查看yarn系统

  5. 配置mapreduce

  6. 运行MapReduce的WordCount 程序

上次课完成到如下图的状态

还需要改善一下,就是我们在root用户下解压安装他的拥有者是数字不是root

通过chown命令更改一下拥有者

chown -R root:root /opt/wdp

运行一下hadoop命令有如下提示说明hadoop可以用

Hadoop运行模式

(1)本地模式(默认模式):是否启动进程----没有,在几台机器上安装的—1台,

不需要启用单独进程,直接可以运行,测试和开发时使用。

(2)伪分布式模式:是否启动进程----需要,在几台机器上安装的—1台

等同于完全分布式,只有一个节点。

(3)完全分布式模式:是否启动进程----需要,在几台机器上安装的—多台

多个节点一起运行。

HDFS是什么

HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。

HDFS的设计适合一次写入,多次读出的场景,且不支持文件的修改。适合用来做数据分析,并不适合用来做网盘应用。

我们用HDFS而不是本地存储因为HDFS是分布式存储,你一个人的主机往往存储量很有限

一个namenode管多个datanode,每个datanode里面有多个block,每个block大小为128M

这种架构主要由四个部分组成,分别为 HDFS Client、 NameNode、 DataNode 和 SecondaryNameNode。下面我们分别介绍这四个组成部分。

1)Client:就是客户端。

(1)文件切分。文件上传 HDFS 的时候, Client 将文件切分成一个一个的 Block,然后进行存储。

(2)与 NameNode 交互,获取文件的位置信息。

(3)与 DataNode 交互,读取或者写入数据。

(4) Client 提供一些命令来管理 HDFS,比如启动或者关闭 HDFS。

(5) Client 可以通过一些命令来访问 HDFS。

2)NameNode:就是master,它是一个主管、管理者。

(1)管理 HDFS 的名称空间。

(2)管理数据块(Block)映射信息

(3)配置副本策略

(4)处理客户端读写请求。

3)DataNode:就是 Slave。 NameNode 下达命令, DataNode 执行实际的操作。

(1)存储实际的数据块。

(2)执行数据块的读/写操作。

4)Secondary NameNode:并非 NameNode 的热备。当 NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。

(1)辅助 NameNode,分担其工作量。

(2)定期合并 Fsimage 和 Edits,并推送给 NameNode。

(3)在紧急情况下,可辅助恢复 NameNode。

1.本地模式运行官方wordcount文件

在wdp文件夹下新建一个datain文件夹

在datain文件夹下新建一个aa.txt文件

然后vi命令进入aa.txt文件

按i进入编辑模式,然后输入以下内容,注意以Tab键分隔

输入完成后Esc+:+wq保存离开

(一个小技巧,按下Esc键后,yy复制,p粘贴)

然后进入到hadoop路径下

bin,sbin文件夹与启动有关

etc文件夹与环境有关

lib文件夹是库

share文件夹下的hadoop下的mapreduce下有我们要用的demo

运行下面这个命令

hadoop jar hadoop-mapreduce-examples-2.7.6.jar wordcount /opt/wdp/datain/aa.txt /opt/wdp/dataout

首先起map和reduce

由于文件很小一共18个词是所以map和reduce都很快完成

通过上图箭头指示表示计算成功

红色箭头所指文件中保存了计算结果

cat命令查看文件内容会看到不同字符串出现次数

2.伪分布式模式配置安装

在本地模式的基础上配置HDFS伪分布式

(1)配置集群

​ (a)配置:hadoop-env.sh

​ 上节课已完成

​ (b)配置:core-site.xml

进入上图路径

vi命令进入箭头所指文件,在configuration中插入下面内容



     fs.defaultFS
 hdfs://hadoop100:9000



     hadoop.tmp.dir
     /opt/wdp/hadoop/data/tmp

注意箭头所指为自己的主机名

(c)配置:hdfs-site.xml

步骤同上


     
             dfs.replication
             3
     


(2)启动集群

​ (a)格式化namenode(第一次启动时格式化,以后就不要总格式化)只在第一台机器里格式化

hdfs namenode -format

如上图箭头说明格式化成功

​ (b)启动namenode

hadoop-daemon.sh start namenode

​ (c)启动datanode

hadoop-daemon.sh start datanode

或者用下面一条命令代替(b)与(c)

start-dfs.sh

输入三轮yes与密码

(3)查看集群

​ (a)查看是否启动成功

​ 输入命令jps

​ (b)查看产生的log日志

​ 当前目录:/opt/wdp/hadoop/logs

jps命令下没谁看谁的log,看以log结尾的

vi进去,shift+g跳转到最后一行

INFO表示无误

(c)web端查看HDFS文件系统

​ http://172.16.50.100:50070/dfshealth.html#tab-overview

3.在HDFS上运行MapReduce的WordCount 程序

输入命令hdfs会给出提示

输入命名

hdfs dfs -mkdir /data

把本地路径/opt/wdp/datain/aa.txt文件推到HDFS

hdfs dfs -put /opt/wdp/datain/aa.txt /data

可以看到上传成功

进入到hadoop的share的hadoop的mapreduce目录

此时再次运行wordcount案例

注:我们在格式化之后,会自动到hdfs而非本地路径中找输入文件

输入以下命令

hadoop jar hadoop-mapreduce-examples-2.7.6.jar wordcount /data/aa.txt /out

4.YARN上运行MapReduce程序

YARN的作用是调度,比如启多少个map,多少个reduce,怎么优化

1)在集群的基础上配置Yarn:

(1)配置yarn-env.sh中的JAVA_HOME

首先进入如下路径

vi yarn-env.sh

export JAVA_HOME=/opt/wdp/jdk/

更改如上图,然后保存退出

(2)配置yarn-site.xml 主从结构

vi yarn-site.xml 


 yarn.nodemanager.aux-services
 mapreduce_shuffle




yarn.resourcemanager.hostname
hadoop100

(3)配置:mapred-env.sh

配置一下JAVA_HOME

vi mapred-env.sh
export JAVA_HOME=/opt/wdp/jdk/

(4)配置: (对mapred-site.xml.template重新命名为) mapred-site.xml

mv mapred-site.xml.template mapred.site.xml

vi mapred.site.xml 


        mapreduce.framework.name
        yarn

2)启动Yarn Hadoop spark flink

(1)启动resourcemanager

sbin/yarn-daemon.sh start resourcemanager

(2)启动nodemanager

sbin/yarn-daemon.sh start nodemanager

用下面命令代替上面两行

start-yarn.sh

3)Yarn的操作

(1)yarn的浏览器页面查看

http://172.16.50.100:8088/cluster

5.完全分布式

如果进行了之前的步骤只需更改slave文件就行

在slaves文件中加入主机名即可

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号