注意 :主机名不能为 01 02 03 shell脚本不识别0
简介
Hadoop(Apache hadoop)是一个由Apache基金会所开发的分布式系统基础架构。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System)。
hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 。
hadoop是一种分析和处理大数据的软件平台,是apache的一个用Java语言所实现的开源软件的架构,在大量计算机组成的集群当中实现了对与海量的数据进行的分布式计算
HDFS简单理解
HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。
NameNode :存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个块列表和块所在的datanode
Data node :在本地文件系统存储文件块数据,以及块数据校验和
Secondary namenode :用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据快照 //辅助namenode工作
MAPREDUCE简单理解
MapReduce是一种编程模型,用于大规模数据集的并行运算。Map(映射)和Reduce(化简),采用分而治之思想,先把任务分发到集群多个节点上,并行计算,然后再把计算结果合并,从而得到最终计算结果。多节点计算,所涉及的任务调度、负载均衡、容错处理等,都由MapReduce框架完成,不需要编程人员关心这些内容。
数据生态体系
-
数据来源层: 数据库/列入订单或者支付 ,文件日志/用户行为日志:浏览的网页等等/称作半结构化数据是因为这种数据是会转化为数据库里的数据的,
-
数据传输层:sqoop数据传递/导数据库里的一些数据:离线的进行一个导入导出,把数据导入到后面的hive表或者hdfs ,flume日志收集/收集日志 ,Kafka消息队列/缓冲数据的
-
数据存储层: hdfs文件存储/hbase k-v键值对存储的非关系型数据库 ,Kafka消息队列也能:其中默认就有1G的数据
-
资源管理层:yarn资源管理/数据存储了就需要内存,磁盘,cpu这些都有他控制
-
数据计算层 :离线(统计):mapreduce离线计算/spark core内存计算:缺点:掉电内存丢失 实时:storm实时计算
-
任务调度层:比如任务之间的执行有依赖关系并且还并行着多个,所以任务的开始时间执行时间,任务并行度,串行度。这些就都需要一个任务调度器来管理
Oozie(乌rei)任务调度器/难,azkaban任务调度/简单