Hadoop 系列 - (1) - 学习随笔 - 起源、构成
关系型数据(库) 大数据: 数据量方面: GB TB及其以下级别数据量 基本是TB PB级别的数据 数据增长方面: 数据增长不快 持续、实时不定量增长数据 结构: 主要是关系型,有具体的数据结构非结构化,半结构化,多维数据 存在的实际价值: 统计和报表 数据挖掘和数据分析
PIG: (目前使用的越来越少)
Hive: 为提供简单的数据操作设计的 新的 分布式数据仓库。它提供了HiveSQL语言,类似于sql语句一样进行数据查询
HBase: 建立在Hadoop Core之上的提供一个可扩展的 数据系统
Flume: 一个分布式、可靠、高可用的海量日志集合的系统,支持在系统中定制各类数据发送方,用于数据收集
Mahout: 是一种具有可扩充能力的机器学习类
Sqoop: 是Apache 下用于RDBMS 和HDFS互相导数据的工具
(以上只有绿色部分的内容才是 hadoop的本身的内容,其他的东西做扩展使用)
Hadoop获取
当然,可以看到很多版本的 hadoop的文件,这里先使用 1.2.X 的版本,先从基础开始嘛,然后后面再使用 2.X 的版本
1.2.X的版本获取链接 https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/ 选择使用 .tar的 文件包,因为里面文件比较全,
包含相关文档等
HTFS介绍
htfs做到了可靠性的创建了多份数据块儿(data blocks),的复制(replicas),并将它们放在服务器群的计算节点当中(ompute nodes),
MapReduce就可以在他们所在的及诶点上处理数据了
HTFS结构:
NameNode DataNodes存储元数据(文件的大小,权限、版本等等) 存储文件内容 缘数据保存在内存中(当然磁盘中也有,只是他是先加载到物理磁盘,运行时在读取到内存)文件系统保存在磁盘中 保存文件,block,datanode之间的映射关系 维护了blockid到datanode的本地文件的映射关系namenode 和 datanode的节点的关系,注意看,我上面写的,datanodes我写的是复数形式,这里是因为
是一对多的关系,一个namenode的对应多一个datanode
HTFS的运行机制:
HTFS数据存储单元(Block - 存放到 datanode上):
① 文件被分割成固定大小的数据块,同时分布在多个 数据存储单元中(作为副本),副本越多就会减少丢失率,默认情况下,每个block
② 默认都会有三个副本文件,要存放在 集群服务器中的不同机器硬盘上
③ block 工作单元被创建之后,大小固定是多大就是多大,不能在更改size,但是副本的个数,可以更改;
④ 如果集群中,摸一个block的节点挂掉了,这是,会自动创建一个新的副本block,将之前的数据,从另外的正常运行的block中拷贝文件过去
HTFS的 NameNode:
a) 功能是,接受客户端的读写服务
b) 保存的的metadata信息包括:① 文件owership 和 permissions ; ② 文件包含哪些模块 ; ③ Block保存在哪个 DataNode(由 dataNode启动时 上报给 nameNode,由namenode加载到内存)
c) metadata存储到磁盘上的文件名称为 fsimage,
d) Block的位置不会保存到 fsimage
e) edits 记录时,metadata的操作日志
HTFS 的读流程:(图片来自互联网)
client先open从namenode中获取文件的名称 ,上面有说过,数据的存储是存储在 datanodes中的,而namenode中存储的是 元数据,也就是数据的相关信息;
然后客户端根据获取的文件名称,从datanodes中读取数据。
HTFS 文件权限:
与LINUX文件权限类似
--- r:read ; w:write; x:execute ,权限 x 对于文件忽略,对文件夹表示 是否允许访问其他内容--- 如果LINUX 系统用户 张三 使用hadoop 创建一个文件,那么这个文件在HDFS中owner就是 张三
--- HDFS 的权限目的:不做密码的认证,说白了,你使用的用户名,这个用户就拥有所有权限
Hadoop 的安全模式:
注:该状态下,不能够对HDFS 进行操作,比如读写操作,你只能看着,这个过程可以理解就是,datanode数据加载过程中到 向namenode汇报的过程,这个阶段需要时间,这个时间段就是 安全的模式,当然可以强制终止,但是强制的结果就是,导致数据的丢失。所以不建议。
namenode启动的时候,将fsimage的映像文件加载到内存,
Hadoop 系列 - (1) - 学习随笔 - 起源、构成的更多相关文章
- ActiveReport系列报表开发随笔收集
转自:博客园 http://www.cnblogs.com/dahuzizyd/archive/2007/04/11/ActiveReport_All.html 使用ActiveReport for ...
- Hive入门学习随笔(一)
Hive入门学习随笔(一) ===什么是Hive? 它可以来保存我们的数据,Hive的数据仓库与传统意义上的数据仓库还有区别. Hive跟传统方式是不一样的,Hive是建立在Hadoop HDFS基础 ...
- typeScript学习随笔(一)
TypeScript学习随笔(一) 这么久了还不没好好学习哈这么火的ts,边学边练边记吧! 啥子是TypeScript TypeScript 是 JavaScript 的一个超集,支持 es6 标准 ...
- [大牛翻译系列]Hadoop系列性能部分完结
Hadoop系列性能部分完结.其它的部分发布时间待定. Hadoop系列将不再一日一篇,开始不定期发布.
- 【Xamarin挖墙脚系列:学习资料大放送】
原文:[Xamarin挖墙脚系列:学习资料大放送] 最靠谱的还是官方的文档,英文的,借着翻译工具,硬看吧.还能学习英文........... https://developer.xamarin.com ...
- (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ
- Hadoop权威指南学习笔记二
MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.n ...
- Hadoop Streaming框架学习2
Hadoop Streaming框架学习(二) 1.常用Streaming命令介绍 使用下面的命令运行Streaming MapReduce程序: 1: $HADOOP_HOME/bin/hadoop ...
- Hadoop Streaming框架学习(一)
Hadoop Streaming框架学习(一) Hadoop Streaming框架学习(一) 2013-08-19 12:32 by ATP_, 473 阅读, 3 评论, 收藏, 编辑 1.Had ...
随机推荐
- POJ_2392_Space_Elevator_(动态规划,背包)
描述 http://poj.org/problem?id=2392 磊方块,每种方块有数量,高度,以及该种方块所能处在的最高高度.问最高磊多高? Space Elevator Time Limit: ...
- HDU-2523 SORT AGAIN
http://acm.hdu.edu.cn/showproblem.php?pid=2523 学习哈希和注意i++,后要--i: SORT AGAIN Time Limit: 2000/1000 MS ...
- ADB对手机进行开关机测试
Verify issue 时,其中有条要对手机进行开关机100次,由于只有ADB环境,只能用批处理来写脚本了,代码如下: ::需配置ADB环境,开启Debug模式 ::start循环 :start s ...
- ARM学习笔记6——程序状态寄存器访问指令
这两条指令结合,可用于对CPSR或SPSR进行读/写操作. 当需要保存或修改当前模式下CPSR或SPSR的内容时,首先必须将这些内容传递到通用寄存器中 1.MRS指令(Move to Register ...
- JavaScript---网络编程(1)-介绍、变量、运算符与语句
JavaScript也是一种编程语言.并不是Java的分支哦. 可以直接在浏览器中运行的编程语言. JavaScript 的历史故事: 1.JavaScript语言与名称的由来(Netscape,Su ...
- 项目杂记(MONTHS_BETWEEN,Having ,Spool)
1,oracle中计算年龄: select FLOOR(MONTHS_BETWEEN(SYSDATE, to_date('20130728', 'yyyymmdd')) / 12), trunc(mo ...
- IT项目管理的六种错误思维
导读:在软件行业,在界面设计没有正式展现给客户之前,所有的工作都处于需求调研阶段.很多IT项目经理因为年轻,初生牛犊不怕虎,胆量大,勇气足,敢于在实践中引入新的工具.方法.敢于尝试不是坏事,但试验的风 ...
- How to Validate XML using Java
Configure Java APIs (SAX, DOM, dom4j, XOM) using JAXP 1.3 to validate XML Documents with DTD and Sch ...
- 341. Flatten Nested List Iterator
List里可以有int或者List,然后里面的List里面可以再有List. 用Stack来做比较直观 Iterator无非是next()或者hasNext()这2个方程 一开始我想的是hasNext ...
- Webform Repeater的灵活运用
案例:模拟购物列表 封装实体类: 数据访问类: 用Repeater展示: 1 <%@ Page Language="C#" AutoEventWireup="t ...

