• hadoop的灵感源于谷歌,最初目的是解决传统数据库处理数据成本高和速度慢的问题。
  • hadoop两个核心项目是HDFS(hadoop分布式文件系统)和MapReduce。
  • HDFS用来实现数据的存储,它有别于传统关系型数据库的数据存储方式,不需要很强的数据完整性,以流式数据访问模式来存储超大文件。当数据集的大小超过一  台独立的物理机的存储能力是。就有必要对它进行分区并存储到若干台单独的计算机上。管理网络中跨多台计算机存储的文件系统称为分布式文件系统。  HDFS上运用到了一个块的概念,即将其上的文件划分为块大小的多个分块作为独立的存储单元,一般每个磁盘默认数据块的大小是512字节,而HDFS块则默认为64MB,比磁盘块的目的是为了最小化寻址开销。用块作为存储单元可以存储大于任意磁盘大小的文件,同时还能简化存储子系统的设计。在多台机器上存储相同的块可以保证当一个块损坏时能够执行处理另一台机器上的块数据。
  • HDFS集群上有两种节点。一个是namenode,另一个则是datanode。namenode起到了管理者的作用,管理着整个文件系统的命名空间,没有namenode,文件系统将无法使用。一旦存储namenode的机器损坏,那么所有文件也将丢失,因此需要采取一定的应急措施来防止这种情况带来的无法挽回的影响。第一种便是备份那些组成文件系统元数据持久状态的文件,将namenode在多个文件系统上保持持久状态。第二种则是运行一个辅助的namenode。
  • 未完待续

hadoop学习记录(一)HDFS的更多相关文章

  1. hadoop学习记录1 初始hadoop

    起因 因为工作需要用到,所以需要学习hadoop,所以记录这篇文章,主要分享自己快速搭建hadoop环境与运行一个demo 搭建环境 网上搭建hadoop环境的例子我看蛮多的.但是我看都比较复杂,要求 ...

  2. Hadoop学习记录(4)|MapReduce原理|API操作使用

    MapReduce概念 MapReduce是一种分布式计算模型,由谷歌提出,主要用于搜索领域,解决海量数据计算问题. MR由两个阶段组成:Map和Reduce,用户只需要实现map()和reduce( ...

  3. 【Hadoop学习之四】HDFS HA搭建(QJM)

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 由于NameNode对于整个HDF ...

  4. Hadoop学习笔记: HDFS

    注:该文内容部分来源于ChinaHadoop.cn上的hadoop视频教程. 一. HDFS概述 HDFS即Hadoop Distributed File System, 源于Google发表于200 ...

  5. Hadoop学习记录(5)|集群搭建|节点动态添加删除

    集群概念 计算机集群是一种计算机系统,通过一组松散继承的计算机软件或硬件连接连接起来高度紧密地协作完成计算工作. 集群系统中的单个计算机通常称为节点,通过局域网连接. 集群特点: 1.效率高,通过多态 ...

  6. Hadoop学习笔记(2)-HDFS的基本操作(Shell命令)

    在这里我给大家继续分享一些关于HDFS分布式文件的经验哈,其中包括一些hdfs的基本的shell命令的操作,再加上hdfs java程序设计.在前面我已经写了关于如何去搭建hadoop这样一个大数据平 ...

  7. Hadoop学习记录(2)|HDFS shell命令|体系结构

    HDFS的shell 调用文件系统(FS)shell命令使用hadoop fs的形式 所有的FS shell命令使用URI路径作为参数. URI格式是scheme://authority/path.H ...

  8. hadoop学习记录--hdfs文件上传过程源码解析

    本节并不大算为大家讲接什么是hadoop,或者hadoop的基础知识因为这些知识在网上有很多详细的介绍,在这里想说的是关于hdfs的相关内容.或许大家都知道hdfs是hadoop底层存储模块,专门用于 ...

  9. Hadoop学习记录(3)|HDFS API 操作|RPC调用

    HDFS的API操作 URL方式访问 package hdfs; import java.io.IOException; import java.io.InputStream; import java ...

随机推荐

  1. Android与Mysql服务器通信

    需求:在手机端读取蓝牙传输过来的数据,然后发送到mysql 安卓前期版本可以直接使用mysql connector, 现在只能通过访问url传递数据了. 服务器端写php脚本,接受发送过来的url请求 ...

  2. 在NodeJS中配置aws ec2

    获取access key和secret access key           自己账户下有security credentials的选项                      然后点击Acce ...

  3. emacs资源

    当clone github时若连接不上,可以使用http代理,形如:export http_proxy=61.172.249.94:80一年成为emacs高手:      https://github ...

  4. 自动化运维工具ansible-如何设置客户端多python版本问题

    问题:在使用ansible进行管理客户主机时,发现客户主机安装了多个版本的python,并且默认版本为3.0 shell>>cat list 192.168.2.9 shell>&g ...

  5. java多线程中的volatile和synchronized

    package com.chzhao; public class Volatiletest extends Thread { private static int count = 0; public ...

  6. picture to string

    图片转化为字符原理: 一张m*n大小的图片,实际上可以看成是一个m*n的矩阵.矩阵的每一个元素就是一个Color值,不同的Color值,用不同的Ascii可以在屏幕上打印显示的字符来代替,于是可以得到 ...

  7. Nginx 禁止IP访问

    我们在使用的时候会遇到很多的恶意IP攻击,这个时候就要用到Nginx 禁止IP访问了.下面我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了 ...

  8. HDU1874畅通工程续(floyd||dijkstra)

    看了看floyd和dijkstra,然后就找了两个练习来捉 #include<iostream> #include<stdio.h> #include<string.h& ...

  9. C# random(number)

    C#随机函数Random()的用法 出自:http://www.cnblogs.com/wang726zq/archive/2012/04/28/2474711.html http://blog.cs ...

  10. [前端JS学习笔记]JavaScript prototype 对象

    一.概念介绍 prototype 对象 : 原型对象.在JavaScript中, 每一个对象都继承了另一个对象,后者称为"原型对象". 只有 null 除外,它没有自己的原型对象. ...