hadoop是什么?新手自学hadoop教程【附】大数据系统学习教程
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
Hadoop是一个专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。
Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。
用函数式变成Mapreduce代替SQL,SQL是查询语句,而Mapreduce则是使用脚本和代码,而对于适用于关系型数据库,习惯SQL的Hadoop有开源工具hive代替。
hadoop使用java编写,版本较为混乱,初学者可从1.2.1开始学习
1.成百上千台服务器组成集群,需要时刻检测服务器是否故障
2.用流读取数据更加高效快速
3.存储节点具有运算功能,省略了服务器之间来回传数据的网络带宽限制
4.一次写入,多次访问,不修改数据
5.多平台
namenode:master,负责总体调度,处理协调请求等
(一个集群只能有一个namenode,但是可以多个集群组成一个更大的集群,这时就有多个namenode,这时的namenode有两种状态,一种叫active并且一个大集群只能有一个namenode处于该状态,一种为standby)
namenode两大功能:接受客户端读写服务,存放元数据(DataNode存储的位置等基本信息,fsimage和edits文件)
fsimage是namenode格式化时产生的,edits是用户操作增删改查的时候生成的日志
datanode:slave,存储节点,会备份,一般本地2分,其他服务器一份
机架:多个DataNod节点组成,master通过机架感知技术得知所需数据的位置
数据块:存储单元,一般64M(hadoop2中是128M)
时刻保持心跳通讯,保证每个数据都备份于3个节点上
5的read为第一个数据块读完后,读下一个数据块,如果在读取过程中某一个数据块出问题,则会记录下来并且找其他的备份,并且以后不再读取错误数据块
map负责分批运算,如果要统计1TB数据中my的出线次数,则可以启用100个map,每个map统计0.01TB数据,最终由reduce汇总
作业(Job):运行一个MapReduce所需要用到的所有jar组件
任务(Task):mapTask和ReduceTask
Key相同的结果进行reduce统计合并
作业提交一般提交jar包和配置文件
调度一般来说默认采取FIFO调度,即先考虑优先级,然后先进先出
TaskTracker会不断想JobTracker传达任务信息,如果空闲会主动申请作业
一般的生产环境都是完全分布式模式。
以上资料可以关注我公众号:免费获取
最新文章
- 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
- ipad
- 干货之运用CALayer创建星级评分组件(五角星)
- .Net程序员Python之道---Python基础
- 关于Latch争用
- 算法积累:解决如何获取指定文件夹路径或者文件路径下所有子文件后缀为.h .m .c的文本的行数
- UIActivityIndicatorView
- easyui datagrid使用参考
- deep learning(1)BP神经网络原理与练习
- jdk .tar.gz 包安装 inAction
- 2016年9月ccf
- Oracle delete input与delete all input
- centos6删除nginx
- 关于Handler中Message的创建问题
- 「Vue」nrm
- SC Create 创建一个Windows系统服务 转
- Java设计模式——工厂模式
- sparksql连接mysql
- Avro之一:Avro简介
- Mysql导入数据时-data truncated for column..
热门文章
- SDUT OJ 2616 简单计算
- Appium——api常用函数
- 关于RabbitMQ简介
- java--List判断是否为空
- 草原psd素材
- SGU 495 Kids and Prizes:期望dp / 概率dp / 推公式
- 从CWnd::GetSafeHwnd实现得到的知识
- Scrapy,终端startproject,显示错误TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
- 红黑树的C语言实现
- dubbo设计实现的健壮性