Hadoop生态之Hadoop
Hadoop
Hadoop是什么
1、分布式系统基础架构
2、海量数据的存储和海量数据的处理分析
3、广义来说,Hadoop生态圈
Hadoop的优势
(1)高可靠性:在处理数据时,Hadoop往往会将数据备份多份分发至不同的机器进行保存,这样就避免了在处理数据时,机器宕机导致数据丢失的麻烦,保证了数据的安全性、可靠性。
(2)高扩展性:在处理数据时,如果当前集群的资源(比如存储能力和运算能力)不足以完成数据处理和分析任务,可以通过快速扩充集群规模进行扩容和加强集群的运算能力。
(3)高效性:相比传统的单台机器处理数据,效率是极高的。
(4)高容错性:Hadoop能自动保存数据的多个副本,当某个节点宕机时,它可以自动的将副本复制给其他机器,保证数据的完整性,并且可以将失败的任务重新分发。
(5)低成本:Hadoop集群可以将程序运行在廉价的机器上并发的进行处理,成本低、效率高,是处理海量数据的最佳选择。
Hadoop的组成
1.x MapReduce 计算+资源调度 HDFS 数据存储 Common 辅助工具
2.x MapReduce 计算 Yarn资源调度 HDFS 数据存储 Common 辅助工具 (高内聚低耦合)
3.x 组成无变化
HDFS组件
namenode(nn):存储文件的元数据
2namenode(2nn):备份namenode元数据
datanode(dn):存储文件块数据,块数据的校验
Yarn架构
Resource Manager(RM):管理整个集群资源(内存、CPU)
NodeManager(NM):管理单节点服务器的资源(内存、CPU)
ApplicatioMaster(AM):单个任务运行-》maptask和reducetask
Container:容器,独立的服务器,封装了任务运行需要的资源(内存、CPU、磁盘、网络)
注意:
客户端可以有多个
集群上可以运行多个ApplicationMaster
每个NodeManager上可以有多个Container,最低一个cpu一个核
MapReduce架构
计算过程:Map和Reduce
map阶段并行处理输入数据
Reduce阶段汇总Map结果
HDFS、YARN、MapReduce三者关系:client发起请求,yarn接收(RM->NM),mapreduce处理(MR),hdfs存储。
大数据技术生态体系
数据源(数据传输层):结构化(数据库)-sqoop、半结构化(文件日志)-flume、非结构化(视频、ppt)-kafka消息队列
数据存储层:文件存储-HDFS,非关系型数据库-Hbase,消息队列-kafka
资源管理层:YARN资源管理
数据计算层:MapReduce离线计算 -> hive数据查询
Spark core内存离线计算 -> spark mlib数据挖掘、spark sql数据查询
Spark streaming、flink实时计算
任务调度层:Oozie任务调度、Azkaban任务调度
推荐系统流程:访问界面-》nginx-》tomcat日志埋点-》flume-》kafka-》flink-》推荐系统计算-》分析结果数据库、文件-》tomcat推荐微服务后台-》前台展示
Hadoop 搭建
浙公网安备 33010602011771号