数分-理论-大数据2-Hadoop

数分-理论-大数据2-Hadoop

(数据分析系列)

1知识点

  • 发展
  • 简介
  • 项目架构
  • 安装应用

2具体内容

2.1发展

  • Lucene:文本搜索的函数库,全文检索引擎
  • Nutch:建立在Lucene核心之上的网页搜索应用程序,加了网络爬虫和一些网页相关的功能
  • GFS(2003):google为存储海量搜索数据而设计的专用文件系统
  • NDFS(2004):分布式文件存储系统Nutch Distributed File System
  • MapReduce编程模型(2004):用于大规模数据集(大于1TB)的并行分析运算。
  • (2005年)Nutch搜索引擎实现MapReduce
  • Hadoop(2006,雅虎),Doug Cutting将NDFS和MapReduce进行了升级改造
  • BigTable,(2006,谷歌),分布式数据存储系统,一种用来处理海量数据的非关系型数据库。
  • HBase,在自己的Hadoop系统里面,引入了BigTable
  • 2008年1月,Hadoop成功上位,正式成为Apache基金会的顶级项目。2月,Yahoo宣布建成了一个拥有1万个内核的Hadoop集群,并将自己的搜索引擎产品部署在上面。7月,Hadoop打破世界纪录,成为最快排序1TB数据的系统,用时209秒。

2.2简介

1.概述

  • Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。
  • 跨平台,可部署在廉价的计算机集群
  • 核心是分布式文件系统HDFS(Hadoop Distributed File System)和 MapReduce。
    1. HDFS,面向普通硬件环境的分布式文件系统,具有较高的读写速度、很好的容错性和可伸缩性,支持大规模数据的分布式存储,其冗余数据存储的方式,很好地保证了数据的安全性。
    2. MapReduce是针对谷歌MapReduce的开源实现,允许用户在不了解分布式系统底层细节的情况下开发并行应用程序,采用MapReduce来整合分布式文件系统上的数据,可保证分析和处理数据的高效性。

2.特性

  • 高可靠性:采用冗余数据存储方式,即使一个副本发生故障,其他副本也可以保证正常对外提供服务。Hadoop按位存储和处理数据的能力,值得人们信赖。
  • 高效性:作为并行分布式计算平台,Hadoop采用分布式存储和分布式处理两大核心技术,能够高效地处理PB级数据。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
  • 高可扩展性:Hadoop的设计目标是可以高效稳定地运行在廉价的计算机集群上,可以扩展到数以千计的计算机节点。
  • 高容错性:采用冗余数据存储方式,自动保存数据的多个副本,并且能够自动将失败的任务进行重新分配。
  • 成本低:Hadoop采用廉价的计算机集群,成本较低,普通用户也很容易用自己的PC上搭建Hadoop运行环境。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,Hadoop是开源的,项目的软件成本因此会大大降低。
  • 运行在Linux平台上:Hadoop是基于Java语言开发的,可以较好地运行在Linux平台上。
  • 支持多种编程语言:Hadoop上的应用程序也可以使用其他语言编写,如C++。

3.应用现状
国内外,大型公司使用Hadoop集群成为趋势,并在Hadoop基础上提出了新的解决方案

2.3项目架构

在这里插入图片描述

  • Common:为Hadoop其他子项目提供支持的常用工具,它主要包括FileSystem、RPC和串行化库,它们为在廉价的硬件上搭建云计算环境提供了基本的服务,并为运行在该平台上的软件开发提供了所需的API
  • Avro:数据库序列化的系统
    • 提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用RPC的功能和简单的动态语言集成功能
    • 代码生成器即不需要读写文件数据,也不需要使用或者实现RPC协议,它只是一个可选的对静态类型语言的实现
    • Avro系统依赖于模式,客户端和服务器端通过握手协议进行模式交换
  • HBase:提供高可靠性、高性能、可伸缩、实时读写和分布式的列式数据库,一般采用HDFS作为其底层数据存储。
    • 适合于非结构化数据存储的数据库
    • 基于列而不是基于行的存储模式
    • HBase表是疏松的,用户可以给行定义各种不同类型的列
    • 主要用于需要随机访问、实时读写的大数据(Big Data)
  • Pig:数据流语言和运行环境,适合于使用Hadoop和MapReduce的平台来查询大型半结构化数据集。
    • 接近结构化查询语言(SQL)的接口
    • Pig要比MapReduce具有明显的优势,前者只需要编写一个简单的脚本在集群中自动并行处理与分发,而后者则需要编写一个单独的MapReduce应用程序
    • Pig是一个对大型数据集进行分析、评估的平台,最突出的优势是它的结构能够经受住高度并行化的检验,这个特性使得它能够处理大型的数据集。Pig的底层由编译器组成,运行的时候会产生一些MapReduce程序序列。
  • Sqoop:改进数据的互操作性,主要用来在Hadoop和关系数据库之间交换数据
    • 通过JDBC(Java DataBase Connectivity)与关系数据库进行交互
  • Chukwa:开源的数据收集系统,用于监控和分析大型分布式系统的数据
    • 集成了Hadoop的可扩展性和健壮性,通过HDFS来存储数据,并依赖MapReduce任务处理数据
  • Zookeeper:为分布式应用所涉及的开源协调服务
    • 为用户提供同步、配置管理、分组和命名等服务,减轻分布式应用程序所承担的协调任务
    • 目录树结构

2.4安装应用

1.实验:在Ubuntu安装Hadoop

  1. 创建Hadoop用户
  2. 安装Java
  3. 设置SSH登录权限。
  4. 单机安装配置。
  5. 伪分布式安装配置

2.补充

  1. 集群模式安装
  2. 集群模式安装节点

参考

https://shenhao-stu.github.io/Big-Data/#/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值