Hadoop自学(慕课网自学笔记)

面试的时候老被问会不会hadoop,其实我很无语的啊,说实话SUPINFO毕业的人怕学不会东西吗?只分学过和没学过,不存在学不会的好伐。

那么现在就来学学试试吧。尊重原著先附上教程网址:https://www.imooc.com/video/16287





Hadoop=HDFS(分布式文件系统,存储是大数据技术的基础)+MapReduce(分布式计算,是大数据应用技术的解决方案)


先来了解一下HDFS:

数据块:

  数据块是抽象块而非整个文件作存储单元

  默认大小为64M,一般设置为128M,备份*3

 数据块非常适用于数据的备份,进而提高数据的容错能力和可用性。

按块存的好处:

    屏蔽了文件的概念,比如存一个200G的文件,它大于任何一个磁盘的大小

NameNode(主)

DataNode(从)


一个NameNode 和多个DataNode









Q:数据库大小设置如何决定?

A:1.一般设置128M,如果设置太小,一般的文件也会被分割多个数据库,访问的时候要查找多个数据库地址,效率不高;数据块太小的话,对于NameNode内存消耗严重,因为NameNode存储了整个集群数据块的信息,内存压力相较DataNode更大;如果数据块设置过大,对并行支持可能不好,还有系统重启的时候需要重新加载数据,数据块越大系统恢复时间越长。

Q:NameNode挂掉怎么办?

A:现在的Hadoop2可以配置成HA(high avalability),高可用性的集群。有两个NameNode节点,一个ACTIVE状态,一个STANDBY状态。两个信息始终保持同步。ACTIVE万一挂掉了,STANDBY就启用。用户几乎感觉不到。


Q:请描述Hadoop的写流程:


1.客户端发送想写请求给NameNode

2.NameNode查询哪个DataNode还有可以存储数据的地方,查了一下,DataNode-1,2,3都有地方,把这个信息发送给Client

3.Client把数据文件分成两块:正方形1和正方形2      Client向DataNode-1发送数据块1和NameNode告诉client的DataNode的一些存储信息.  DataNode1对数据块1进行了保存,就把数据块1传给DataNode2 ,DataNode2传给DataNode3进行备份。然后DataNode-1,2,3都保存好数据块1以后告诉NameNode,NameNode再告诉Client

4.数据块2的过程同上

结束。



Q:请描述HDFS读流程

A:






Linux的SHELL脚本可以直接操作HDFS的,

比如-copyFromLocal就是从本地文件系统上传到HDFS文件系统

比如-copyToLocal就是从HDFS文件系统下载到本地文件系统


Python也可以直接操作HDFS,API官方文档如下:

http://hdfs3.readthedocs.io/en/latest/api.html

--------------------------------------------------分割线,以上是HDFS,以下讲MapReduce--------------------------------------------------------------


YARN 是HADOOP 2.0以后的资源管理器,它负责整个集群的管理和调度,所有的MAPREDUCE程序都需要它管理和调度。比HADOOP1在可扩展性,可靠性,资源利用率方面都得到了提升。

ResourceManager是Master,负责分配和调度资源,负责启动并监控Application Master,监控Node Manager

Application Master 为Mapreduce程序申请资源,分配任务;负责数据的切分;监控任务的执行及容错

NodeManager 管理单个节点的资源;处理来自ResourceManager 的命令;处理来自Application Master的命令

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值