Hadoop学习—浅谈hadoop

  大数据这个词越来越热,本人一直想学习一下,正巧最近有时间了解一下。先从hadoop入手,在此记录学习中的点滴。

什么是hadoop?

  What Is Apache Hadoop?

  The Apache? Hadoop? project develops open-source software for reliable, scalable, distributed computing

  作者:Doug Cutting

  受Google三篇论文的启发(GFS、MapReduce、BigTable)

  解决问题:

    海量数据的存储(HDFS)

    海量数据的分析(MapReduce)

    资源管理调度(YARN)

hadoop具体能干什么?

  1、日志分析,hadoop擅长日志分析,对日志进行分析筛选

  2、搜索引擎(Doug Cutting  设计Hadoop的初衷,为了针对大规模的网页快速建立索引)。

  3、大数据存储,利用Hadoop的分布式存储能力,例如数据备份、数据仓库等。

  4、大数据处理,利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等。

hadoop核心

  HDFS: Hadoop Distributed File System 分布式文件系统

  YARN: Yet Another Resource Negotiator 资源管理调度系统

  Mapreduce:分布式运算框架

HDFS的架构

  1. 主从结构

    a) 主节点, 只有一个namenode

    b)从节点,有很多个: datanode

  1. namenode负责管理:

    a) 接收用户操作请求

    b) 维护文件系统的目录结构

    c) 管理文件与block之间关系,block与datanode之间关系

  1. datanode负责数据存储:

    a)存储文件

    b)文件被分成block存储在磁盘上

    c)为保证数据安全,文件会有多个副本,分别存储在不同的datanode上

Hadoop的特点

  1.扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。

  2.成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。

  3.高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。

  4.可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署(redeploy)计算任务。

总结

  我也是刚刚接触hadoop,只是把自己了解的记录下来,比较浅显,也没有形成自己的见解,望各位见谅并指正!!!

时间: 2024-08-04 03:28:07

Hadoop学习—浅谈hadoop的相关文章

浅谈hadoop中mapreduce的文件分发

最近在做数据分析的时候,需要在mapreduce中调用c语言写的接口,此时就需要把动态链接库so文件分发到hadoop的各个节点上,原来想自己来做这个分发,大概过程就是把so文件放在hdfs上面,然后做mapreduce的时候把so文件从hdfs下载到本地,但查询资料后发现hadoop有相应的组件来帮助我们完成这个操作,这个组件就是DistributedCache,分布式缓存,运用这个东西可以做到第三方文件的分发和缓存功能,下面详解: 如果我们需要在map之间共享一些数据,如果信息量不大,我们可

Hadoop学习第一次:hadoop概念

1.大数据学习方向:一是系统建设技术,二,海量数据应用. 先说系统建设,现在主流的技术是HADOOP,主要基于mapreduce的分布式框架.目前可以先学习这个.但是我的观点,在分布式系统出来之前,主要是集中式架构,如DB2,oracle.为什么现在用分布式架构,那是因为现在集中式架构受限于IO性能,出来速度慢,如果又一种硬件技术,可以很快地处理海量数据,性能上能满足需求,那么集中式架构优于分布式架构,因为集中式架构稳定,运维压力小.现在的集中式架构要么性能达不到要求,要么就是过于昂贵.我期待一

hadoop学习笔记(一)——hadoop安装及测试

这几天乘着工作之余,学习了一下hadoop技术,跌跌撞撞的几天,终于完成了一个初步的hadoop的安装及测试,具体如下: 动力:工作中遇到的数据量太大,服务器已经很吃力,sql语句运行老半天,故想用大数据技术来改善一下 环境:centos5.11+jdk1.7+hadoop2.5.2 1.  伪分布安装步骤 关闭防火墙 修改ip 修改hostname 设置ssh自动登录 安装jdk 安装hadoop 注:此部分涉及到的Linux操作部分可以再下面的链接中找到,Linux初级操作 2.  安装jd

Hadoop学习笔记(3) Hadoop文件系统二

1 查询文件系统 (1) 文件元数据:FileStatus,该类封装了文件系统中文件和目录的元数据,包括文件长度.块大小.备份.修改时间.所有者以及版权信息.FileSystem的getFileStatus()方法用于获取文件或目录的FileStatus对象. 例:展示文件状态信息 public class ShowFileStatusTest{ private MiniDFSCluster cluster; private FileSystem fs; @Before public void

Hadoop 学习笔记五 ---Hadoop系统通信协议介绍

本文约定: DN: DataNode TT: TaskTracker NN: NameNode SNN: Secondry NameNode JT: JobTracker 本文介绍Hadoop各节点和Client之间通信协议. Hadoop的通信是建立在RPC的基础上,关于RPC的详解介绍大家可以参照 "hadoop rpc机制 && 将avro引入hadoop rpc机制初探" Hadoop中节点之间的通信是比较复杂的一个网络,若可以把它们之间的通信网络了解清楚,那么

Hadoop学习笔记之Hadoop伪分布式环境搭建

搭建为伪分布式Hadoop环境 1.宿主机(Windows)与客户机(安装在虚拟机中的Linux)网络连接. a) Host-only 宿主机与客户机单独组网: 好处:网络隔离: 坏处:虚拟机和其他服务器之间不能通讯: b) Bridge 桥接 宿主机与客户机在同一个局域网中. 好处:窦在同一个局域网,可以互相访问: 坏处:不完全. 2.Hadoop的为分布式安装步骤 a) 设置静态IP 在centos下左面上右上角图标右键修改: 重启网卡service network restart; 验证:

[Hadoop] Hadoop学习笔记之Hadoop基础

1 Hadoop是什么? Google公司发表了两篇论文:一篇论文是“The Google File System”,介绍如何实现分布式地存储海量数据:另一篇论文是“Mapreduce:Simplified Data Processing on Large Clusters”,介绍如何对分布式大规模数据进行处理.Doug Cutting在这两篇论文的启发下,基于OSS(Open Source software)的思想实现了这两篇论文中的原理,从而Hadoop诞生了. Hadoop是一种开源的适合

Hadoop学习笔记—6.Hadoop Eclipse插件的使用

开篇:Hadoop是一个强大的并行软件开发框架,它可以让任务在分布式集群上并行处理,从而提高执行效率.但是,它也有一些缺点,如编码.调试Hadoop程序的难度较大,这样的缺点直接导致开发人员入门门槛高,开发难度大.因此,Hadop的开发者为了降低Hadoop的难度,开发出了Hadoop Eclipse插件,它可以直接嵌入到Hadoop开发环境中,从而实现了开发环境的图形界面化,降低了编程的难度. 一.天降神器插件-Hadoop Eclipse Hadoop Eclipse是Hadoop开发环境的

Hadoop 学习笔记四 ---Hadoop系统通信协议介绍

本文约定: DN: DataNode TT: TaskTracker NN: NameNode SNN: Secondry NameNode JT: JobTracker 本文介绍Hadoop各节点和Client之间通信协议. Hadoop的通信是建立在RPC的基础上,关于RPC的详解介绍大家可以参照 "hadoop rpc机制 && 将avro引入hadoop rpc机制初探" Hadoop中节点之间的通信是比较复杂的一个网络,若可以把它们之间的通信网络了解清楚,那么