Hadoop简介
原来:计算效率低
现在:成本降低,能用PC机,就不用大型机和高端存储了;软件容错硬件故障视为常态,通过软件保证可靠性;简化并行分布式计算,无需控制节点同步和数据交换,但是谷歌只发表了相关技术论文,没有开源实现,hadoop是模仿谷歌大数据技术的开源实现来了。
谷歌大数据技术:MapReduce、BigTable、GFS
目前hadoop是属于apache,他是开源的,分布式存储和分布式计算的平台。
核心组成:
HDFS,分布式文件系统,存储海量数据;
MapReduce,并行处理框架,实现任务分解和调度。
用来做什么?
搭建大型仓库,PB级数据存储、处理、分析、统计;搜索引擎,商业智能,日志分析,数据挖掘
性能优势:1。通过增加一些硬件,高扩展,提高性能;2.低成本;3.成熟的生态圈
应用:百度、淘宝、华为、新浪、京东、网易、腾讯、小米
人才:开发人才和运维人才
生态圈(小工具):HDFS、
MapReduce、
Hive(小蜜蜂,代表着一种牵引,不用写复杂的hadoop任务,只需要写个简单的sql语句,hive就会把sql语句转化成hadoop任务去执行,降低了使用hadoop的门槛)、
HBase:与传统的关系型数据库不同,放弃事物的特性,追求更高的扩展;与HDFS的不同,hbase提供对数据的随机读写和实时访问,实现对表数据的读写功能、
zookeeper:动物管理员,监控hadoop集群中每个节点的状态,配置,维护节点之间数据的一次性
版本选择:1.x与2.x差别挺大,但1.x比较稳定,易学,好上手
获取linux操作系统:
租用云主机:阿里云、UnitedStack等。 申请云主机、公网IP,将云主机与公网IP绑定。使用云主机非常方便,可以不用像虚拟机那样得受本地计算机性能的影响。hadoop需要在linux操作环境下运行的。
javac是啥? 安装JDK
是java编程的编译器,把.java 翻译成 .class 文件 因为hadoop是java写的,所以需要javac编译器。
Linux配置环境变量 vim /etc/profile .bashrc .bash_profile 。获得编译器之后需要在系统中配置环境变量
export CLASS_PATH=./:$JAVA_HOME/lib
export JAVA_OPTIONS=-Djava.security.egd=file:/dev/./urandom
export PATH=$JAVA_HOME/bin:$PATH
export:设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,麻烦,在代码中先执行export,这个相当于告诉程序,执行某某东西时,需要的文件或什么东东在这些目录里).
source /etc/profile 在当前bash环境下读取并执行FileName中的命令。意思是让这个文件生效。计算机很笨的,得我一点一点指挥告诉他下一步要做什么,创建文件,环境变量路径需要我告诉它,编辑修改文件,执行。。。每一步
apt -get install <pacakge> 这个是linux软件管理包的工具
wget 网址路径 就可以自动下载
wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。
HDFS
HDFS的文件被分成块进行存储,默认大小是64M,块是文件存储处理的逻辑单元。一共有两个节点,namenode与datanode
NameNode节点:是管理节点,存放文件元数据。文件与数据块的映射表;数据块与数据节点的映射表
DataNode节点:是工作节点,存放数据块的。由于廉价机器,每个节点都有可能会出错,所以通过创建副本(备份),保证数据不会丢失,实现容错性
datanode 定期向 namenode汇报他的状态:网络有没有断,关机?宕机?整个状态会以一个心跳协议发送给namenode
如果namenode发生故障,整个这里边的原数据都会丢失,为了保证不丢失,做了个备份,原数据会定期同步到secondnamenode中去,大部分情况下,只要namenode不出毛病,secondnamenode只会做个备份,他不接收请求。但是,一旦namenode发生故障了,secondnamenode便会替换namenode,变成主的namenode。就跟替补队员似的,一场球赛中,替补队员也要在旁边看着比赛,一旦正式的出问题了,立马冲上去。
客户端(java程序/命令行)把文件名,路径告诉namenode,namenode查询原数据,把原数据返回给客户端,客户端就知道文件包含在那些块中,以及这些块分别可以在哪些datanode中找得到,客户端就会找到他们,读取他们,把他们下载下来,再进行组装。it's over
Hadoop简介的更多相关文章
- Hadoop:Hadoop简介及环境配置
http://blog.csdn.net/pipisorry/article/details/51243805 Hadoop简介 下次写上... 皮皮blog 配置hadoop环境可能出现的问题 每次 ...
- NO.1 hadoop简介
第一次接触这个时候在网上查了很多讲解,以下很多只是来自网络. 1.Hadoop (1)Hadoop简介 Hadoop是一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层 ...
- Hadoop简介与分布式安装
Hadoop的基本概念和分布式安装: Hadoop 简介 Hadoop 是Apache Lucene创始人道格·卡丁(Doug Cutting)创建的,Lucene是一个应用广泛的文本搜索库,Hado ...
- 1 预备知识--Hadoop简介
1 预备知识--Hadoop简介 Hadoop是Apache的一个开源的分布式计算平台,以HDFS分布式文件系统和MapReduce分布式计算框架为核心,为用户提供了一套底层透明的分布式基础设施Had ...
- Hadoop简介(1):什么是Map/Reduce
看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop整体有所了解了. Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Red ...
- 第三章:Hadoop简介及配置Hadoop-1.2.1,hbase-0.94.13集群
前面给大家讲了怎么安装Hadoop,肯定会有人还是很迷茫,装完以后原来就是这个样子,但是怎么用,下面,先给大家讲下Hadoop简介:大致理解下就OK了 hadoop是一个平台,提供了庞大的存储和并行计 ...
- java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...
- Hadoop(一) HADOOP简介
1. HADOOP背景介绍 1.1 什么是HADOOP HADOOP是apache旗下的一套开源软件平台 HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 H ...
- [Hadoop in Action] 第1章 Hadoop简介
编写可扩展.分布式的数据密集型程序和基础知识 理解Hadoop和MapReduce 编写和运行一个基本的MapReduce程序 1.什么是Hadoop Hadoop是一个开源的框架,可编写和运 ...
随机推荐
- IOS第十天(1:QQ好友列表 ,自定义的headview,代理 ,通知 ,black的使用)
*****HMViewController.m #import "HMViewController.h" #import "HMFriendsGroupModel.h&q ...
- 【iCore3 双核心板_ uC/OS-III】例程五:软件定时器
实验指导书及代码包下载: http://pan.baidu.com/s/1eSHenjs iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- JavaScript 入门教程一 开篇介绍
一.JavaScript 刚开始是为了解决一些由服务器端进行的验证而开发的前端语言.在宽带还不普及的90年代,当用户辛苦输入很多信息并提交给服务器后,等了漫长的时间,等到的不是提交成功的提示而是某些必 ...
- Laravel-5.1 ---- 将mews captcha整合到项目中!
经过摸索,终于能在laravel 5.1中应用验证码了. 因为英语渣五水平,所以几乎没搜索到什么有用的,于是考虑在github上搜索验证码包! 提示: github上的package中往往会有使用说明 ...
- 使用TarOutputStream出现 request to write '1024' bytes exceeds size in header错误的解决方法
因为测试流程中,所测客户端会根据服务器A返回的response决定发送给服务器B的请求里各参数的值,所以现在需要模拟服务器的响应.而这个项目服务器A的响应式返回一个流,一个GZIP压缩格式流,压缩的是 ...
- LightOj 1220 - Mysterious Bacteria (分解质因子x=b^p 中的 x 求最大的 p)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1220 题意:已知 x=bp 中的 x 求最大的 p,其中 x b p 都为整数 x = ...
- SQL基础巩固2
日期函数 函数名称 含义 示例 GetDate 返回当前系统日期和时间,返回值类型为datetime select GETDATE()//输出当前日期 YEAR 返回指定日期的年份 YEAR('08/ ...
- 白话学习MVC(八)Action的执行二
一.概述 上篇博文<白话学习MVC(七)Action的执行一>介绍了ASP.NET MVC中Action的执行的简要流程,并且对TempData的运行机制进行了详细的分析,本篇来分析上一篇 ...
- df 命令(转)
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...
- 基于docker+etcd+confd + haproxy构建高可用、自发现的web服务
基于docker+etcd+confd + haproxy构建高可用.自发现的web服务 2016-05-16 15:12 595人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主 ...