作为一个大数据人,从没有系统的学习过Hadoop,这可还行?!最近开始整理一些大数据相关基础知识,及时整理汇总,自我督促。
大数据部门常见组织架构
大公司完整的组织架构一般需要有四部分:
-
平台组
Hadoop、Flume、Kafka、HBase框架平台的搭建
集群性能的监控
集群性能的调优
-
数据仓库组
ETL工程师——数据清洗
Hive工程师——数据分析、数仓建模
-
数据挖掘组
算法工程师
推荐系统工程师
用户画像工程师
-
报表开发组
JavaEEI工程师
对Hadoop的一点理解
- 分布式系统基础架构
- 海量数据的存储与分析
- 广义来说Hadoop是个生态圈
Hadoop的优势
- 高可靠性:多个副本
- 高扩展性:扩展节点
- 高效性:可并行工作
- 高容错性:自动将失败的任务重新分配
对比Hadoop1.X和Hadoop2.X
现在主流的是2.X,简而言之,2.X实现了解耦,把资源调度拆分出来,不止可以调度MapReduce的资源,还可以调度其它机算框架的资源,比如Spark、Flink等。
Hadoop1.X
MapReduce:计算+资源调度
HDFS:数据存储
Common:辅助工具
Hadoop2.X
MapReduce:计算
Yarn:资源调度
HDFS:数据存储
Common:辅助工具
从架构角度谈一谈Hadoop
HDFS架构
DataNode(dn):有多个,存数据本体,可以理解为移动硬盘们
NameNode(nn):有一个,存元数据,可以理解为目录、索引
Secondary NameNode(2nn):不是nn的备份,如果nn挂了,2nn可以帮nn恢复一些,但有缺陷
Yarn架构
调度的是内存和CPU,管理的是工作时长
Resource Manager(RM):处理客户端请求、监控NM、启动或者监控ApplicationMaster(相当于临时负责人)
Node Manager(NM):管理单个节点上的资源、处理RM的命令、处理AM的命令
Application Manager(AM):数据切分、为应用程序申请资源并分配给内部任务
Container:Yarn的资源抽象
|