初识Hadoop,
一直都想学习分布式和大数据,但是之前被搭建环境给劝退了。
如今在公司不用自己搭建环境,了一些概念和操作后就可以动手测试,美滋滋。
架构:
- HDFS: 分布式文件存储
- YARN: 分布式资源管理
- MapReduce: 分布式计算
HDFS和YARN逻辑上独立,但是物理上是存在关联的,前者是对磁盘和存储的管理操作,后者是对CPU内存的管理操作
这三个组件内部基本都是采用的Master/Slave架构
HDFS:
架构
- NameNode 管理文件名和数据库的映射,数据块和datanode的映射(奴隶主---唯一)
- SecondaryNameNode 定期合并一些数据,然后与NameNode进行同步,在NameNode挂掉时可以顶替它(奴隶主的帮手---唯一)
- DataNode 保存具体的block数据(奴隶---很多个)
流程
存储数据
读取数据
默认情况下会为每个文件块额外的生成2个备份,看得出来NameNode发挥着调度指挥的作用,有了它才能知道对文件进行Map操作后分散存放在哪儿
Yarn:
架构
- ResourceManager 负责全局的资源调度(集群老大,唯一的)
- NodeManager 每个节点上的资源和任务管理器(一台机器上的老大)
- ApplicationMaster 跟踪处理一个任务,让多个NM配合其工作
- Container 资源的基本单位,任务的容器
流程
AM被启动后,会去申请资源然后要求多个NM启动MR(MapReduce任务),在所有的MR完成后AM则向RM汇报结果并且注销自己
MapReduce:
如果想统计下过去10年计算机论文出现最多的几个单词,看看大家都在研究些什么,那收集好论文后,该怎么办呢?
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。