云计算学习笔记003---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
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介绍...与传统关系型数据库对应关系,云计算面临的挑战相关推荐
- 云计算学习笔记004---hadoop的简介,以及安装,用命令实现对hdfs系统进行文件的上传下载
1.Hadoop简介 1.hadoop的诞生 l Nutch和Lucene之父Doug Cutting在2006年完成Hadoop项目. l Hadoop并不是一个单词,它来源于DougCutti ...
- 云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin
云计算学习笔记---异常处理---hadoop问题处理ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.lang.NullPoin ...
- 大数据Hadoop教程-学习笔记02【Apache Hadoop、HDFS】
视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g 提取码: 6666 [P001-P ...
- 大数据学习笔记第1课 Hadoop基础理论与集群搭建
大数据学习笔记第1课 Hadoop基础理论与集群搭建 一.环境准备 二.下载JDK 三.安装JDK 四.下载hadoop 五.安装hadoop集群 六.打通3台服务器的免密登录 七.hadoop集群配 ...
- StatQuest学习笔记23——RNA-seq简介
StatQuest学习笔记23--RNA-seq简介 前言--主要内容 这篇笔记是StatQuest系列笔记的第58节,主要内容是讲RNA-seq的原理.StatQuest系列教程的58到62节是协录 ...
- ASP.Net学习笔记001--ASP.Net简介1
ASP.Net学习笔记001--ASP.Net简介1 2016/1/10 以前写的课程都没有附上源码,很抱歉! 课程中的源码可以加qq索要:1606841559 也可以自己下载: ASP.Net学习笔 ...
- C#.NET学习笔记1---C#.NET简介
C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...
- STM32 HAL库学习笔记1-HAL库简介
STM32 HAL库学习笔记1-HAL库简介 HAL库 SPL 库 和 HAL 库两者相互独立,互不兼容.几种库的比较如下 目前几种库对不同芯片的支持情况如下 ST 中文官网上有一篇<关于ST库 ...
- 【小猫爪】AUTOSAR学习笔记02-Communication Stack简介
[小猫爪]AUTOSAR学习笔记02-Communication Stack简介 前言 1 简介 2 CAN消息的传播路径 2.1 Com服务 2.2 Dcm服务 2.3 SM服务和NM服务 3 补充 ...
最新文章
- java 计算运算表达式_java字符串运算表达式的计算
- 网络协议 9 - TCP协议(下):聪明反被聪明误
- 图像语义分割模型DeepLab训练Cityscapes数据集过程记录
- mysql数据库的触发器_Mysql数据库触发器
- convex function
- RHEL7.0 配置网络IP的三种方法
- 《当90后遇上创业》导读
- Java 12:使用开关表达式进行映射
- 连载 3:利用 matlab计算卷积
- mysql中的rman备份_oracle数据库 rman基本备份操作
- Android开发之使用GridView+仿微信图片上传功能(附源代码)
- shell应用之cobbler批量部署
- 最新2016年春运抢票12306买下铺攻略
- 数学边界(数学萌芽、初等数学、高等数学)
- 不写代码,实现动态网页设计-金蜘蛛网页设计器数据库设置
- cydia软件路径_Cydia源目录结构解析
- 这种人生最美的场面吸引着千万男孩女孩的憧憬和向往
- 如何把照片压缩到20k一下_如何将一寸照片压缩到20k以内?
- 如何用Python进行数据分析
- 打造新老员工双赢机制变对立为统一
热门文章
- luna16标签数据里的xyz,以及CT的dicom.ImagePositionPatient里的三个值分别代表哪些轴的初始点
- pytorch: 自定义数据集加载
- MLP多层感知机(人工神经网络)原理及代码实现
- VS2017 QT/C++ 调用python函数传图像
- 【转】QT中窗口刷新事件的学习总结
- 03_KNN_统计学习方法
- C#流程控制语句--迭代语句(while,do....while, for , foreach)
- 域渗透——Local Administrator Password Solution
- [leetcode]Largest Rectangle in Histogram @ Python
- C++生成随机数:高斯/正态分布(gaussian/normal distribution)