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

article/2025/6/23 1:03:13

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

(数据分析系列)

文章目录

  • 数分-理论-大数据2-Hadoop
    • 1知识点
    • 2具体内容
      • 2.1发展
      • 2.2简介
      • 2.3项目架构
      • 2.4安装应用
    • 参考

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/#/


http://chatgpt.dhexx.cn/article/FZ6NPBHH.shtml

相关文章

大数据2

机器学习和数据挖掘的区别 数据挖掘是一个比较大的概念,由许多学科综合而成,其包括机器学习、统计学习、数据库、领域知识及模式识别等领域。数据挖掘与机器学习可以看成是一种相交关系,两者都是依靠规律分析来预测数据趋势的,但不…

大数据行业部署实战2:环境大数据统计

实验二、环境大数据(必须基于实验一验证通过的环境) 一、实验目的二、实验要求三、实验原理四、实验步骤1、 分析数据文件2、 将数据文件上传至HDFS3 、编写月平均气温统计程序4 、查看月平均气温统计结果5、 编写每日空气质量统计程序6、 查看每日空气…

大数据(2)--Hadoop

目录标题 1.初识大数据1.1 大数据相关技术1.2 日志流量分析系统1.2.1 项目设计1.2.2 日志的捕获1.2.3 离线分析1.2.4 实时分析 1.3 系统搭建 2.Hadoop2.1 Hadoop概述2.1.1 历史2.1.2 作用 2.2 Hadoop的安装2.2.1 Hadoop版本介绍2.2.2 Hadoop 的安装有三种方式2.2.3 Hadoop伪分布…

《大数据时代》书评及书摘

三天的零碎时间把这本书读完了,内容本身其实很简单,也谈不上特别精彩,五分制的话我只能打三分。 我的理解,数据一生应该是包含了三个阶段:收集,分析,最后是预测。我们总能根据现有的数据&#x…

Python 与SQL sever数据库 图形化智能停车场管理系统

这个是我的一次课程设计,写了236行代码,都是最简单的函数和图形化界面。特别简单。首先你应该确保你的SQL数据库可以在Pycham中连接成功。不会SQL连接的的可以去其他博客写看一看。在Pycham中需要安装 Tkinter win32com.client 第三方库。 序言界面截…

asp毕业设计——基于asp+sqlserver的WEB车辆管理系统设计与实现(毕业论文+程序源码)——车辆管理系统

基于aspsqlserver的WEB车辆管理系统设计与实现(毕业论文程序源码) 大家好,今天给大家介绍基于aspsqlserver的WEB车辆管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模…

基于Java+控制台实现车辆信息管理系统

基于Java控制台实现车辆信息管理系统 一、系统介绍二、功能展示1.主要功能2.查看所有车辆信息3.车辆信息添加4.车辆信息查询5.车辆信息删除 三、系统实现1.car.java 四、其它1.其他系统实现 五、源码下载 一、系统介绍 该系统实现了简单的增删查改、采用面对对象(O…

qt 汽车管理系统

界面设计 运行后界面 数据库表: connection.h文件 #ifndef CONNECTION_H #define CONNECTION_H #include<Qtsql> #include<QDebug> #include<qdom.h> #include<QDebug> #include <QSqlQuery> static bool createConnection() { // "O…

计算机毕业设计-基于SSM的汽车维修管理系统

项目背景 随着计算机技术的高速发展&#xff0c;现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展。而汽车维修&#xff0c;不仅需要在硬件上为现代社会的人们提供一个汽车维修的平台&#xff0c;获取汽车知识的环境&#xff0c;更要在软件上为车辆提供汽车维…

ASP.NET+C#+Sql Server 1125数据库 汽车租赁系统的设计与实现+讲解视频

绪论 随着汽车行业的快速发展&#xff0c;汽车租赁行业交易的数量也随之增加&#xff0c;自2000年起&#xff0c;我国汽车租赁交易量开始进入一个快速发展的状态&#xff0c;也是汽车行业市场经济发展的重要一部分&#xff0c;近几年&#xff0c;越来越多汽车租赁公司进军当前…

Java项目:springBoot+Vue汽车销售管理系统

作者主页&#xff1a;夜未央5788 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目基于spring boot以及Vue开发&#xff0c;为前后端分离的项目。针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能…

基于JSP的物流公司信息管理系统设计与实现

目 录 第一章 绪论 1 1.1 研究背景 1 1.2课题研究意义 1 1.3 国内外的研究状况 2 第二章 相关技术分析 3 2.1技术简介 3 2.2 工作原理 3 2.3体系结构 3 2.4编程语言的特点 3 2.5 数据库 4 第三章 需求分析 5 3.1 可行性分析 5 3.1.1 经济可行性 5 3.1.2 技术可行性 5 3.1.3 运…

C#毕业设计——基于C#+asp.net+sqlserver的汽车销售管理系统设计与实现(毕业论文+程序源码)——汽车销售管理系统

基于C#asp.netsqlserver的汽车销售管理系统设计与实现&#xff08;毕业论文程序源码&#xff09; 大家好&#xff0c;今天给大家介绍基于C#asp.netsqlserver的汽车销售管理系统设计与实现&#xff0c;文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及…

汽车销售管理系统

文章目录 汽车销售管理系统**背景****环境****项目结构**项目详情**数据库****DBConn.java****Login.java****Data.java****CircleProgressBar.java**运行截图 汽车销售管理系统 背景 Java基础课程设计 环境 数据库&#xff1a;MySQL8.0开发环境&#xff1a;JDK1.8开发工具…

Java+SSM+Jsp+Mysql实现Web汽车信息管理系统

目录 一、系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库文件 5.工程截图 二、系统展示 1.登录系统 2.系统首页 3.用户管理-添加用户 4.用户管理-查询用户 5.用户管理-修改用户 6.客户管理-添加客户 7.客户管理-查询客户 8.客户管理-修改客户 9.汽车管理-…

基于Java+Swing+Mysql实现汽车信息管理系统(含实训报告)

TOC 一、系统介绍 系统实现汽车入库&#xff0c;汽车出库&#xff0c;汽车查询&#xff0c;汽车信息修改和管理员登录等功能 二、功能展示 1.登陆 2.车辆信息 3.车辆入库 4.车辆出库 5.车辆查询 6、车辆信息修改 三、数据库 /*Navicat Premium Data TransferSource Serv…

汽车租赁管理系统的设计与实现(JSP+SqlServer在线租车网站)

目录 第一章 系统概述 1 1.1背景 1 1.2发展现状 1 第二章 需求分析 2 2.1 功能需求 2 2.2 数据需求 3 第三章 系统设计 5 3.1系统结构 5 3.2 数据库设计 5 3.2.1 ER图 6 3.2.2 逻辑结构 6 3.2.3 数据库物理结构 7 3.2.4 数据库实现 9 3.3用户控制系统 9 3.4模块设计 10 3.4.1 汽…

Qt下的综合练习—汽车信息管理系统(三)车辆出售功能的实现

项目介绍 这次练习的项目是汽车信息管理系统&#xff0c;项目参考Qt5开发及实例&#xff08;第3版&#xff09;中的汽车销售管理系统&#xff0c;写到博客上的目的是为了梳理自己的思路&#xff0c;所以代码很大程度上是参照书上的实例。 项目实现了车辆与销售的的管理&#xf…

Java课程设计——汽车信息租赁信息管理系统

一&#xff0e;功能需求 需求分析是发现需求&#xff0c;分析求精&#xff0c;逻辑建模&#xff0c;需求规约的过程&#xff0c;其的目的是为了全面获取软件需求&#xff0c;准确理解业务逻辑。车辆租赁系统具有以下基本功能。 用户管理&#xff1a; 包括用户的注册,登陆等&a…

Java GUI+SQL Server开发车辆管理系统

Java GUISQL Server开发车辆管理系统 一、程序功能设计 本项目为“车辆管理系统”&#xff0c;需包含一下功能&#xff1a; 1)车辆管理模块&#xff0c;增删查改车辆信息 2)租车管理模块&#xff0c;增删查改租车记录 3)换车管理模块&#xff0c;增删查改换车记录 4)修车…