我的Hadoop笔记——第一讲
第一讲🐘🐟🐢🐝
课程目标
🐰Hadoop由来
☆Doug Cutting发明的开源软件——Lucence,java为基础,为实现与Google类似的全文搜索引擎。
☆Nutch(Lucence的微缩版本) 2003-2004年,Doug以Google公开的GFS和Mapreduce思想用这两年实现了DFS和Mapreduce机制,使Nutch性能飙升。
☆2005 Nutch正式引入Apache基金会,2006年3月,Map-Reduc和Nutch Distributed File System(NDFS)被纳入名为Hadoop的项目中。
※ Hadoop这个名字其实来源于Doug儿子的玩具大象的名字🐘。
hadoop🐰Hadoop子项目家族
Hadoop子项目家族⭕️ Pig:轻量级语言(用户语言与MapReduce的中介,相互翻译)
⭕️ Hive:sql语言与MapReduce的转换器(翻译sql语句让MapReduce能读)
⭕️ HBase:非关系列式数据库
⭕️ Zoo Keeper:负责各节点和进程之间的通讯(通讯协调工具)
⭕️ Chukwa:数据集成工具(数据源定时抓取分析)
※每个子项目的图标都是小动物,而Zoo Keeper也是翻译成动物园管理员~
🐰Hadoop架构
都是一些后台进程
⭕️ Namenode(名称节点):
HDFS的守护程序
记录所有源数据(记录文件存放在哪个节点,在节点的哪个数据块内)
对内存和I/O进行管理
单点,一个故障整个集群崩溃。
⭕️ Secondary Namenode(辅助名称节点):
Namenode的后备每个集群一个
Namenode的副本,若Namenode突然崩溃Secondary Namenode替代原来的Namenode成为新的Namenode
⭕️ DataNode(数据节点):
DataNode负责把HDFS数据块读写到本地文件系统
※ 以上三个组成HDFS分布式文件系统的体系
MapReduce里的两个后台进程
⭕️ JobTracker(作业跟踪器):
处理用户提交的代码
决定参与文件,job切割成task并分配节点去处理
监控task,重启失败的task
每个集群只有一个JobTracker
⭕️ TaskTracker(任务跟踪器)
位于slave节点上,与datanode结合
管理JobTracker分配过来的Task
每个节点只有一个RaskTracker,但它可以启动多个JVM
🐰Master与Slave
Master:Namenode、Secondary Namenode、Jobtracker
Slave:Tasktracker、Datanode
数据分析者遇到的问题(why hadoop )
我们为什么需要hadoop?