云计算系列(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 程序

上次课完成到如下图的状态
云计算系列(2)初识HDFS与MapReduce

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

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

chown -R root:root /opt/wdp

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

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

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

Hadoop运行模式

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

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

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

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

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

多个节点一起运行。

HDFS是什么

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

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

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

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

一个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文件

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

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

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

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

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

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

然后进入到hadoop路径下

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

bin,sbin文件夹与启动有关

etc文件夹与环境有关

lib文件夹是库

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

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

运行下面这个命令

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

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

首先起map和reduce

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

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

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

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

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

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

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

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

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

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

(1)配置集群

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

​ 上节课已完成

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

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

进入上图路径

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

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

<!-- 指定HDFS中NameNode的地址 -->
<property>
     <name>fs.defaultFS</name>
 <value>hdfs://hadoop100:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
     <name>hadoop.tmp.dir</name>
     <value>/opt/wdp/hadoop/data/tmp</value>
</property>

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

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

(c)配置:hdfs-site.xml

步骤同上

<!-- 指定HDFS副本的数量 -->
     <property>
             <name>dfs.replication</name>
             <value>3</value>
     </property>

云计算系列(2)初识HDFS与MapReduce
(2)启动集群

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

hdfs namenode -format

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

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

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

​ (b)启动namenode

hadoop-daemon.sh start namenode

​ (c)启动datanode

hadoop-daemon.sh start datanode

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

start-dfs.sh

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

输入三轮yes与密码

(3)查看集群

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

​ 输入命令jps

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

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

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

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

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

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

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

INFO表示无误

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

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

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

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

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

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

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

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

输入命令hdfs会给出提示

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

输入命名

hdfs dfs -mkdir /data

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

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

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

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

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

可以看到上传成功

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

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

此时再次运行wordcount案例

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

输入以下命令

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

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

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

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

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

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

4.YARN上运行MapReduce程序

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

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

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

首先进入如下路径

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

vi yarn-env.sh

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

export JAVA_HOME=/opt/wdp/jdk/

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

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

vi yarn-site.xml 
<!-- reducer获取数据的方式 -->
<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop100</value>
</property>

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

(3)配置:mapred-env.sh

配置一下JAVA_HOME

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

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

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

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

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

vi mapred.site.xml 
<!-- 指定mr运行在yarn上 -->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

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

2)启动Yarn Hadoop spark flink

(1)启动resourcemanager

sbin/yarn-daemon.sh start resourcemanager

(2)启动nodemanager

sbin/yarn-daemon.sh start nodemanager

用下面命令代替上面两行

start-yarn.sh

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

3)Yarn的操作

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

http://172.16.50.100:8088/cluster

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

5.完全分布式

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

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

在slaves文件中加入主机名即可文章来源地址https://www.toymoban.com/news/detail-435362.html

到了这里,关于云计算系列(2)初识HDFS与MapReduce的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mapreduce 的工作原理以及 hdfs 上传文件的流程

    推荐两篇博文 mapreduce 的工作原理: 图文详解 MapReduce 工作流程_mapreduce工作流程_Shockang的博客-CSDN博客 hdfs 上传文件的流程 HDFS原理 - 知乎

    2024年02月10日
    浏览(49)
  • Hadoop三大“金刚”完美剖析 ─────── HDFS、MapReduce、YARN

    因为HDFS是分布式储存文件的模式,所以在储存文件的数据时,会将文件切分为大小一致的数据块, 如果出现文件大小不是128M的倍数时,那么最后一个文件会与之前切分文件大小不一致。 被切分成的数据块就是Block块,NameNode将Block块进行分布式储存到DataNode中。    (Block块

    2024年04月10日
    浏览(43)
  • HDFS、YARN、MapReduce概述及三者之间的关系(图解)

    1、HDFS定义 HDFS(Hadoop Distributed File System) 是一种分布式文件系统,用于处理在商业硬件上运行的大型数据集。 它用于将单个 Apache Hadoop 集群扩展到数百 (甚至数千)个节点。 HDFS 是 Apache Hadoop 的主要组件之一,其他组件包括 MapReduce 和 YARN。 HDFS的使用场景:适合一次写入,

    2024年02月20日
    浏览(43)
  • Hadoop实训任务3:HDFS和MapReduce综合操作

    目录 1、启动Hadoop服务 2、创建文本文件 3、上传文本文件 4、显示文件内容 5、完成排序任务 6、计算最大利润和平均利润 7、统计学生总成绩和平均成绩 8、总结 在 master 虚拟机上执行命令: 启动hadoop服务进程 ​ ​ ​ 在master虚拟机上创建本地文件 students.txt ​ 将 students.tx

    2024年02月10日
    浏览(44)
  • Hadoop/HDFS/MapReduce/Spark/HBase重要知识点整理

    本复习提纲主要参考北京大学计算机学院研究生课程《网络大数据管理与应用》课程资料以及厦门大学计算机科学系研究生课程 《大数据技术基础》相关材料整理而成,供广大网友学习参考,如有版权问题请联系作者删除:guanmeige001@pku.edu.cn Hadoop简介 Hadoop的功能和作用: 高

    2024年02月02日
    浏览(60)
  • Hadoop——HDFS、MapReduce、Yarn期末复习版(搭配尚硅谷视频速通)

    1.1 HDFS定义 HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次, 它是分布式的 ,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。 HDFS的使用场景 :适合一次写入,多次读出的场景。一个文件经过创建、写入和关

    2024年01月17日
    浏览(42)
  • 测试环境搭建整套大数据系统(三:搭建集群zookeeper,hdfs,mapreduce,yarn,hive)

    https://blog.csdn.net/weixin_43446246/article/details/123327143 java_home填写自己安装的路径。 vim core-site.xml 将以下信息填写到configuration中 vim hdfs-site.xml vim mapred-site.xml vim yarn-site.xml vim workers 启动zk 三台机器全部执行 在node01执行 格式化NameNode 。 在node01执行 启动hdfs 在node01执行 启动yarn jps

    2024年02月20日
    浏览(116)
  • 基于Hadoop的MapReduce网站日志大数据分析(含预处理MapReduce程序、hdfs、flume、sqoop、hive、mysql、hbase组件、echarts)

    需要本项目的可以私信博主!!! 本项目包含:PPT,可视化代码,项目源码,配套Hadoop环境(解压可视化),shell脚本,MapReduce代码,文档以及相关说明教程,大数据集! 本文介绍了一种基于Hadoop的网站日志大数据分析方法。本项目首先将网站日志上传到HDFS分布式文件系统

    2024年02月16日
    浏览(65)
  • 大数据期资料2023 Beta版 - Hadoop、HDFS、MapReduce、Hive、ZooKeeper、Kafka、HBase详解

    了解大数据概念、Hadoop、HDFS、MapReduce、Hive、ZooKeeper、Kafka、HBase等技术,包括特点、命令操作和启动关闭方法。获取2023年大数据资料Beta版。

    2024年02月06日
    浏览(238)
  • 大数据组件HDFS、MapReduce、Hive三个大数据组件的特点和架构,并详细阐述它们之间的联系与区别

    作者:禅与计算机程序设计艺术 大数据组件是解决大数据的关键组件之一,在Hadoop生态系统中占据着至关重要的地位,它包括了HDFS、MapReduce、Hive等等一系列框架和工具。本文将会通过主要分析HDFS、MapReduce、Hive三个大数据组件的特点和架构,并详细阐述它们之间的联系与区

    2024年02月07日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包