zoukankan      html  css  js  c++  java
  • 读书笔记《Hadoop开源云计算平台》

    HDFS-Hadoop Distributed File System,对大文件效率高,小文件效率低。和普通本地的文件系统区别在于HDFS中的文件是分布在多台计算机上的,并且访问文件需要通过HDFS中的NameNode来访问。比如一个文件1g,被分成了10份分别保存在计算机01-10中,当客户端要获取这个文件时,会发生:

    1. 客户端request到NameNode
    2. NameNode返回这个文件分布情况:会返回一堆DataNode列表和文件block对应关系
      1. DataNode就是保存文件block的各个计算机,就是数据节点
      2. 客户端得知文件信息后,就直接和DataNode联系拿数据

    在一个HDFS集群中,如果NameNode down了,那HDFS也就down了

    在一个HDFS集群中,如果单个DataNode down了,HDFS照样提供服务。

    HDFS有Secondary NameNode,可以用来合并NameNode的日志等操作

    Zookeeper是这对分布式应用的分布式协作服务器

    数据库服务

    HBase,数据库服务,由1个HMaster和多个HRegion组成,它能快速读取、保存大表,是个基于列保存的系统

    比如保存一行:rowId, A, B, Cè{001, A1Content, BContent, CContent},HBase会将这一行数据拆分成3块,分别保存进HRegion001-003这3个计算机节点中(如果C列为null,则根本不会做保存这个动作)

    缺点

    1. 不能使用join等关系型数据库的语法
    2. 如果要使用join等操作,需要自己写MapReduce来合并结果,比较麻烦
    3. 不支持SQL查询

    Hive, 数据库服务,能够使用HSQL语句(类似SQL语法),能够join、group by等,并且能自动进行MapReduce操作(更加智能)

    CloudBase,数据仓库服务,支持SQL查询

    MapReduce简化

    1. Pig语言能够通过写脚本实现MapReduce功能,比较方便。
    2. Eclipse有个MapReduce的插件,可以简化MapReduce程序的开发。
  • 相关阅读:
    86. Partition List
    328. Odd Even Linked List
    19. Remove Nth Node From End of List(移除倒数第N的结点, 快慢指针)
    24. Swap Nodes in Pairs
    2. Add Two Numbers(2个链表相加)
    92. Reverse Linked List II(链表部分反转)
    109. Convert Sorted List to Binary Search Tree
    138. Copy List with Random Pointer
    为Unity的新版ugui的Prefab生成预览图
    ArcEngine生成矩形缓冲区
  • 原文地址:https://www.cnblogs.com/aarond/p/Hadoop.html
Copyright © 2011-2022 走看看