读书笔记《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程序的开发。
posted @   McKay  阅读(510)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2011-04-29 如何提升开发效率
点击右上角即可分享
微信分享提示