1、Hadoop简介

1、hadoop的诞生

l  Nutch和Lucene之父Doug Cutting在2006年完成Hadoop项目。

l  Hadoop并不是一个单词,它来源于Doug Cutting小儿子对所玩的小象玩具牙牙学语的称呼。就像是google也是由小孩子命名一样。

l  后又经过5年的开发,hadoop在所有云计算系统是稳居第一。

l  Hadoop目前使用最广泛的版本为hadoop-0.20版本。目前最新版本为hadoop-1.03

l  Hadoop运行在Linux系统中。在windows上安装可使用cgywin模拟linux环境。

2、hadoop的组成

l  hadoop Common – 是hadoop的核心,包括文件系统、远程调用RPC的序列化函数。

l  HDSF : 提供高吞吐量的可靠分布式文件系统是 GFS的开源实现。

•   Hadoop的文件系统。必须通过hadoop  fs 命令来读取。支持分布式。

l  MapReduce : 大型分布式数据处理模型,是Google MapReduce的开源实现。

•   合并/计算模型。

l  其他相关组成:

•    Hbase:结构化分部式数据库。BigTable的开源实现。

•    Hive:提供摘要和查询功能的数据仓库。

•    Cassandra:由Facebook开发分布式数据仓库。目前已经捐献给apache。且apache已经将Cassandra应用到了各种云计算系统中。

谁在用hadoop:

l  facebook

l  淘宝

l  360

l  京东

l  yahoo

l  google

Master:主节点,相当于项目经理

Slave:从节点相当于PG

Hadoop只能运行在linux系统上:

在linux系统上装JVM虚拟机,然后,上面运行了三个进程

SecondaryNameNode,Jobtracter,NameNode这三个进程,这三个都是java进程

其中,NameNode是最重要的一个java进程,他决定了主节点,在从节点上没有这个进程

SecondaryNameNode相当于NameNode的秘书,协助NameNode完成工作, Jobtracter任务跟踪进程,用来跟踪任务

并且把任务交给从节点.

可以看到通常应用都会有一个主节点和一个从节点,并且从节点中也有两个java进程,因为在装有从节点的服务器上,也装的是linux系统,在linux系统上装有jvm,然后跑了两个java进程,一个是: Jobtracter,另一个是:DataNode数据节点,这个进程用来处理和数据有关的任务.注意在hadoop系统中,只有一个主节点,其他的都属于从节点.

各节点介绍:

l  NameNode:这是hadoop的守护进程(注意是进程JVM)。负责记录文件是如何分割成数据块,以及这些数据块分别存储到哪些数据节点上。对内存进行集中管理。NameNode在整个hadoop中只有一个。一旦NameNode服务器宕机,整个系统将无法运行。

l  DataNode:集群中的每个从服务器都运行一个DataNode后台程序。这个后台程序负责将HDFS数据块写到本地的文件系统。

l  Secondary NomeNode:用来监控HDFS状态的辅助后台程序。如保存NameNode的快照。

l  JobTracker:用户连接应用程序和hadoop。每一个hadoop集群中只一个 JobTracker,一般它运行在Master节点上。

l  TaskTracker:负责与DataNode进行结合。

l  云计算目前的困境

对于“云计算”,业界已经为之争论了不止一年,IBM、微软、Google等产业大哥们也各自运功,以“云计算”作为获得未来产业主动权的阵地。

作为消费者,我一直觉得“云计算”是未来的IT行业的发展趋势,但是:“云计算”何时才能从云端到地面?

关于“云计算”技术标准和发展方向的争论依然此起彼伏,我们却已经悄然步入“云计算”的年代。

当我们用Google的在线Office编辑文档的时候,当我们随时在网上更新自己博客、甚至用手机上传照片的时候,当企业用在线租赁的软件在处理公司财务的时候……

NoSQL综述

l                大数据时代

l   关系数据库的瓶颈

l   NoSQL的优势

l   CAP理论

l   NoSQL数据模型及分类

l   NoSQL应用现状

l   重点介绍几个NoSQL

l  一、大数据时代

l    随着网民参与互联网产品和应用的程度越来越深,互联网将更加智能,互联网的数据量也将呈爆炸式增长

一、大数据时代

•       大交易数据:来自电商的数据,包括B2B、B2C、C2C、团购等

•       大交互数据:来自社交网络的数据,SNS、微博等

•      两类数据的有效融合将是大势所趋,这种融合更能增强企业的商业洞察力

•       大数据的特征

3V——Volume(海量)、Variety(多样)、Velocity(实时)

•       海量——数据量巨大,对TB、PB数据级的处理, 已经成为基本配置。

•       多样——处理多样性的数据类型,结构化数据和非结构化数据,能处理Web数据,能处理语音数据甚至是图像、视频数据。

•      实时——在客户每次浏览页面,每次下订单的过程中都存在,都会需要对用户进行实时的推荐,决策已经变得实时

•       大数据时代下的系统需求

•       High performance –高并发读写的需求

高并发、实时动态获取和更新数据

•       Huge Storage –海量数据的高效率存储和访问的需求

类似SNS网站,海量用户信息的高效率实时存储和查询

SNS,全称Social Networking Services,即社会性网络服务,专指旨在帮助人们建立社会性网络的互联网应用服务。也指社会现有已成熟普及的信息载体,如短信SMS服务。SNS的另一种常用解释:全称Social Network Site,即“社交网站”或“社交网”。

•       High Scalability && High Availability –高可扩展性和高可用性的需求

需要拥有快速横向扩展能力、提供7*24小时不间断服务

二、关系数据库的瓶颈

•       关系数据库如何应对大数据

•       High performance –高并发读写的需求

问题:

数据库读写压力巨大,

硬盘IO无法承受

解决方案:

Master-Slave,主从分离

分库、分表,缓解写压力,增强读库的可扩展性

•       关系数据库如何应对大数据

•       Huge Storage –海量数据的高效率存储和访问的需求

问题:

存储记录数量有限,

SQL查询效率极低

解决方案:

分库、分表,缓解数据增长压力

•       关系数据库如何应对大数据

•       High Scalability && High Availability –高可扩展性和高可用性的需求

问题:

横向扩展艰难,无法通过快速增加服务器节点实现,

系统升级和维护造成服务不可用

解决方案:

Master-Slave,增强读库的可扩展性

MMM——Master-Master Replication Manager for MySQL

•       解决方案的问题

1.分库分表缺点:

(1)受业务规则影响,需求变动导致分库分表的维护复杂

(2)系统数据访问层代码需要修改

2.Master-Slave缺点

(1)Slave实时性的保障,对于实时性很高的场合可能需要做一些处理

(2)高可用性问题,Master就是那个致命点,容易产生单点故障

3. MMM缺点

本身扩展性差,一次只能一个Master可以写入,只能解决有限数据量下的可用性

三、NoSQL的优势

•       易扩展

       NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。甚至有多种NoSQL之间的整合。

•       灵活的数据模型

        NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。

•       高可用

NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。比如Cassandra,HBase模型,通过复制模型也能实现高可用。

•       大数据量,高性能

NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。

一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大粒度的Cache,在针对web2.0的交互频繁的应用,Cache性能不高。而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多了。

云计算学习笔记003---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战相关推荐

  1. 云计算学习笔记004---hadoop的简介,以及安装,用命令实现对hdfs系统进行文件的上传下载

    1.Hadoop简介 1.hadoop的诞生 l  Nutch和Lucene之父Doug Cutting在2006年完成Hadoop项目. l  Hadoop并不是一个单词,它来源于DougCutti ...

  2. 云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin

    云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin ...

  3. 大数据Hadoop教程-学习笔记02【Apache Hadoop、HDFS】

    视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g 提取码: 6666 [P001-P ...

  4. 大数据学习笔记第1课 Hadoop基础理论与集群搭建

    大数据学习笔记第1课 Hadoop基础理论与集群搭建 一.环境准备 二.下载JDK 三.安装JDK 四.下载hadoop 五.安装hadoop集群 六.打通3台服务器的免密登录 七.hadoop集群配 ...

  5. StatQuest学习笔记23——RNA-seq简介

    StatQuest学习笔记23--RNA-seq简介 前言--主要内容 这篇笔记是StatQuest系列笔记的第58节,主要内容是讲RNA-seq的原理.StatQuest系列教程的58到62节是协录 ...

  6. ASP.Net学习笔记001--ASP.Net简介1

    ASP.Net学习笔记001--ASP.Net简介1 2016/1/10 以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 也可以自己下载: ASP.Net学习笔 ...

  7. C#.NET学习笔记1---C#.NET简介

    C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...

  8. STM32 HAL库学习笔记1-HAL库简介

    STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...

  9. 【小猫爪】AUTOSAR学习笔记02-Communication Stack简介

    [小猫爪]AUTOSAR学习笔记02-Communication Stack简介 前言 1 简介 2 CAN消息的传播路径 2.1 Com服务 2.2 Dcm服务 2.3 SM服务和NM服务 3 补充 ...

最新文章

  1. java 计算运算表达式_java字符串运算表达式的计算
  2. 网络协议 9 - TCP协议(下):聪明反被聪明误
  3. 图像语义分割模型DeepLab训练Cityscapes数据集过程记录
  4. mysql数据库的触发器_Mysql数据库触发器
  5. convex function
  6. RHEL7.0 配置网络IP的三种方法
  7. 《当90后遇上创业》导读
  8. Java 12:使用开关表达式进行映射
  9. 连载 3:利用 matlab计算卷积
  10. mysql中的rman备份_oracle数据库 rman基本备份操作
  11. Android开发之使用GridView+仿微信图片上传功能(附源代码)
  12. shell应用之cobbler批量部署
  13. 最新2016年春运抢票12306买下铺攻略
  14. 数学边界(数学萌芽、初等数学、高等数学)
  15. 不写代码,实现动态网页设计-金蜘蛛网页设计器数据库设置
  16. cydia软件路径_Cydia源目录结构解析
  17. 这种人生最美的场面吸引着千万男孩女孩的憧憬和向往
  18. 如何把照片压缩到20k一下_如何将一寸照片压缩到20k以内?
  19. 如何用Python进行数据分析
  20. 打造新老员工双赢机制变对立为统一

热门文章

  1. luna16标签数据里的xyz,以及CT的dicom.ImagePositionPatient里的三个值分别代表哪些轴的初始点
  2. pytorch: 自定义数据集加载
  3. MLP多层感知机(人工神经网络)原理及代码实现
  4. VS2017 QT/C++ 调用python函数传图像
  5. 【转】QT中窗口刷新事件的学习总结
  6. 03_KNN_统计学习方法
  7. C#流程控制语句--迭代语句(while,do....while, for , foreach)
  8. 域渗透——Local Administrator Password Solution
  9. [leetcode]Largest Rectangle in Histogram @ Python
  10. C++生成随机数:高斯/正态分布(gaussian/normal distribution)