首页 > 其他分享 >大数据导论及分布式存储HadoopHDFS入门

大数据导论及分布式存储HadoopHDFS入门

时间:2024-11-04 15:48:30浏览次数:3  
标签:HDFS 存储 HadoopHDFS 导论 Hadoop 集群 Apache 数据 分布式

思维导图

数据导论

数据是什么?

进入21世纪,我们的生活就迈入了"数据时代" 作为21世纪的新青年,"数据"一词经常出现。

数据无时无刻的在影响着我们的现实生活

什么是数据? 数据又如何影响现实生活?

数据:一种可以被鉴别的对客观事件进行记录的符号。 简单来说就是:对人类的行为及产生的事件的一种记录.

我们无时无刻都在产生数据:

数据的价值

大数据时代

当下时代已经是数据的时代,数据非常重要并且蕴含巨大的价值。

1. 什么是数据?

人类的行为及产生的事件的一种记录称之为数据

2. 数据有什么价值?

对数据的内容进行深入分析,可以更好的帮助了解事和物在现实世界的运行规律

比如,购物的订单记录(数据)可以帮助平台更好的了解消费者,从而促进交易。

大数据诞生

大数据的诞生

大数据的诞生和信息化以及互联网的发展是密切相关的。

大数据的诞生和信息化以及互联网的发展是密切相关的。

上世纪70年代后,逐步出现了基于TCP/IP协议的小规模的计算机互联互通。 但多数是军事、科研等用途。

上世纪90年代左后,全球互联的互联网出现。

个人、企业均可参与其中,真正逐步的实现了全球互联。

在2000年后,互联网上的商业行为剧增

现在知名的互联网公司(谷歌、AWS、腾讯、阿里等)也是在这个年代开始起步。

在互联网参与者众多的前提下,商业公司、科研单位等,所能获得的数据量也是剧增。

剧增的数据量,和羸弱的单机性能,让许多科技公司开始尝试以数量来解决问题。

在这个过程中,分布式处理技术诞生了。

1. 大数据的诞生是跟随着互联网的发展的

当全球互联网逐步建成(2000年左右),各大企业或政府单位拥有了海量的数据亟待处理。

基于这个前提逐步诞生了以分布式的形式(即多台服务器集群)完成海量数据处理的处理方式,并逐步发展成现代大数据体系。

2. Apache Hadoop对大数据体系的意义

第一款获得业界普遍认可的开源分布式解决方案

让各类企业都有可用的企业级开源分布式解决方案

一定程度上催生出了众多的大数据体系技术栈

从Hadoop开始(2008年左右)大数据开始蓬勃发展

大数据概念

  • 大数据是指无法用传统的数据处理工具和方法,在合理的时间内进行捕获、管理和处理的大规模、复杂和多样化的数据集合。随着互联网、物联网、社交媒体等技术的发展,数据量呈指数级增长,大数据的概念应运而生。

  • 大数据的普通认知:bigdata,无法用常规软件处理的数据集合,需要一种新的模式(分布式)去处理

  • 大数据的核心思想:分而治之(分布式)

  • 大数据解决的问题:

    • 海量数据的存储

    • 海量数据的计算

    • 海量数据的迁移

    • 海量数据的查询

  • 大数据的应用场景:为生活赋能/大数据人工智能时代/数字化时代,如智慧城市、智能制造、金融风控、健康医疗、互联网广告等。

狭义上:对海量数据进行处理的软件技术体系

广义上:数字化、信息化时代的基础支撑,以数据为生活赋能

大数据特点

大数据有5个主要特征,称之为:5V特性

大数据的核心工作

从海量的高增长、多类别、低信息密度的数据中挖掘出高质量的结果

后续将学习的技术也是围绕着这三点来进行的,即:

分布式存储相关技术栈

分布式计算相关技术栈

海量数据传输相关技术栈

1. 什么是大数据

狭义上:对海量数据进行处理的软件技术体系

广义上:数字化、信息化时代的基础支撑,以数据为生活赋能

2. 大数据的5个主要特征

  • 大:(数据量大)大数据的一个核心特点就是数据量巨大,通常用TB(太字节)、PB(拍字节)甚至更大单位来衡量。

  • 多:(数据种类和来源多),大数据不仅包括传统的结构化数据,还包括半结构化和非结构化数据。例如,文本、图片、视频、音频等。

  • 值:(低价值密度)虽然数据量庞大,但有用信息的密度较低,需要高效的数据处理技术来提取价值。

  • 快:(增长速度快,处理速度快,获取速度快)数据流动速度快,需要实时或近实时处理。

  • 信:结果准确,可以依赖

3. 大数据的核心工作:

存储:妥善保存海量待处理数据

计算:完成海量数据的价值挖掘

传输:协助各个环节的数据传输

大数据处理步骤

  • 明确分析的目的和思路:把分析的目的分解成若干个不同的分析要点

  • 数据收集:一般数据来源为数据库、第三方数据统计工具、文件数据等

  • 数据处理:(E抽取T转换L加载)主要包含数据清洗、数据转化、数据提取、数据计算等

  • 数据分析:提取为数据有价值的信息的过程

  • 数据可视化:一般能用图说明问题的不用表格,能用表格说明问题的就不要用文字

  • 撰写报告:数据分析报告作为结论总结

大数据生态

存储: Apache Hadoop HDFS、Apache HBase等

计算: Apache Hadoop MapReduce、Apache Spark、Apache Flink

传输: Apache Sqoop、Apache Flume、Apache Kafka等

大数据主体上分成如下三大核心工作体系。

数据存储

数据计算

数据传输

大数据体系内的软件种类还是非常多的。在后续的学习中我们都能够逐步的接触到它们。

1. 大数据的核心工作:

存储:妥善保存海量待处理数据

计算:完成海量数据的价值挖掘

传输:协助各个环节的数据传输

2. 大数据软件生态

存储:Apache Hadoop HDFS、Apache HBase等

计算:Apache Hadoop MapReduce、Apache Spark、Apache Flink

传输:Apache Sqoop、Apache Flume、Apache Kafka等

hadoop发展历程

Hadoop创始人: Doug Cutting 
Hadoop起源于Apache Lucene子项目:Nutch   Nutch的设计目标是构建一个大型的全网搜索引擎。         遇到瓶颈:如何解决数十亿网页的存储和索引问题 
Google三篇论文: 三驾马车   
        《The Google file system》:谷歌分布式文件系统GFS   
        《MapReduce Simplified Data Processing on Large Clusters》:谷歌分布式计算框架MapReduce   
        《Bigtable A Distributed Storage System for Structured Data》:谷歌结构化数据存储系统 
雅虎时代: 卡大爷带着hadoop去了雅虎.利用雅虎的资源发展技术. 

开源社区版本: Apache软件基金会(Apache Software Foundation,简称ASF)是专门支持开源项目的一个非盈利性组织。   
        URL:http://hadoop.apache.org/ ​ 
商业发行版本: CDH(Cloudera's Distribution, including Apache Hadoop) Cloudera公司出品,目前使用最多的商业版 ​ 

1.x版本系列: HDFS 和 MapReduce ​ 

2.x版本系列: HDFS 和 MapReduce 和 YARN 主要基于jdk7,但是jdk7在15年左右不更新,不得不切换更新版本 ​ 

3.x版本系列: HDFS 和 MapReduce 和 YARN 依赖jdk8

什么是Hadoop?

Hadoop是Apache软件基金会下的顶级开源项目,用以提供:

        分布式数据存储

        分布式数据计算

        分布式资源调度

为一体的整体解决方案。

Apache Hadoop是典型的分布式软件框架,可以部署在1台乃至成千上万台服务器节点上协同工作。 个人或企业可以借助Hadoop构建大规模服务器集群,完成海量数据的存储和计算。

Hadoop发展

Hadoop创始人:Doug Cutting

Hadoop起源于Apache Lucene子项目:Nutch    

        Nutch的设计目标是构建一个大型的全网搜索引擎。    

        遇到瓶颈:如何解决数十亿网页的存储和索引问题

Google三篇论文    

        《The Google file system》:谷歌分布式文件系统GFS    

        《MapReduce: Simplified Data Processing on Large Clusters》:谷歌分布式计算框架MapReduce    

        《Bigtable: A Distributed Storage System for Structured Data》:谷歌结构化数据存储系统

Hadoop发行版本

开源社区版本

        Apache软件基金会(Apache Software Foundation,简称ASF)是专门支持开源项目的一个非盈利性组织。    

        URL:http://hadoop.apache.org/

商业发行版本

        CDH(Cloudera's Distribution, including Apache Hadoop) Cloudera公司出品,目前使用最多的商业版

        HDP(Hortonworks Data Platform),Hortonworks公司出品,目前被Cloudera收购

        星环,国产商业版,星环公司出品,在国内政企使用较多

1. 什么是Hadoop    

        Hadoop是开源的技术框架,提供分布式存储、计算、资源调度的解决方案

2. Hadoop的发展    

        创始人Doug Cutting    

        基于Nutch搜索项目发展    

        发展受到Google三篇著名的论文影响

3. Hadoop的版本

        Apache 开源社区版 (原生版本)

        Cloudera等商业公司自行封装的商业版

分布式和集群

分布式: 分布式的主要工作是分解任务,将职能拆解给多个服务器,多个服务器在一起做不同的事,配合完成同一个任务 
集群: 集群主要是将同一个业务,部署在多个服务器上 ,多个人在一起做同样的事

分布式

概念

分布式是指将多台服务器集中在一起,每台服务器都实现总体中的不同业务,做不同的事情

单机模式

该模式可以形象的比喻为:一个餐厅的厨房只有一个人,这个人既要买菜、又要切菜、还要炒菜,效率很低!

分布式模式

该模式可以形象的比喻为:一个餐厅的厨房有三个人,一个人买菜、一个人切菜、一个人炒菜,效率提高了!

集群

概念

所谓集群是指一组独立的计算机系统构成的一多处理器系统,它们之间通过网络实现进程间的通信,让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份。

分布式的基础架构

数量多,在现实生活中往往带来的不是提升,而是:混乱。

同学们思考一下, 众多的服务器一起工作,是如何高效、不出问题呢?

大数据体系中,分布式的调度主要有2类架构模式:

去中心化模式

中心化模式

去中心化模式

去中心化模式,没有明确的中心。

众多服务器之间基于特定规则进行同步协调。

中心化模式

主从模式

大数据框架,大多数的基础架构上,都是符合:中心化模式的。

即:有一个中心节点(服务器)来统筹其它服务器的工作,统一指挥,统一调派,避免混乱。

这种模式,也被称之为:一主多从模式,简称主从模式(Master And Slaves)

我们学习的Hadoop框架,就是一个典型的主从模式(中心化模式)架构的技术框架。

分布式和集群区别?

分布式 :分布式的主要工作是分解任务,将职能拆解,多个人在一起做不同的事  

集群:集群主要是将同一个业务,部署在多个服务器上 ,多个人在一起做同样的事

Hadoop是哪种分布式架构模式?

主从模式(中心化模式)的架构

Hadoop框架概论

Hadoop介绍

Hadoop是Apache旗下的一个用Java语言实现开源软件框架,是一个存储和计算大规模数据的软件平台。

Hadoop是Apache Lucene创始人 Doug Cutting 创建的,最早起源一个Nutch项目。

        2003年Google发表了一篇GFS论文,为大规模数据存储提供了可行的解决方案。

        2004年 Google发表论文MapReduce系统,为大规模数据计算提供可行的解决方案。

        Nutch的开发人员以谷歌的论文为基础,完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目Hadoop。

        到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。

        如今,国内外的互联网巨头基本都在使用Hadoop框架作为大数据解决方案,越来越多的企业将Hadoop 技术作为进入大数据领域的必备技术。

Hadoop框架内容

狭义解释

Hadoop指Apache这款开源框架,它的核心组件有:  

        HDFS(分布式文件系统):解决海量数据存储

        MAPREDUCE(分布式运算编程框架):解决海量数据计算

        YARN(作业调度和集群资源管理的框架):解决资源任务调度

广义解释

广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

Hadoop国内外应用

国外应用

Yahoo

Yahoo的Hadoop机器总节点数目已经超过42000个,有超过10万的核心CPU在运行Hadoop,总的集群存储容量大于350PB,每月提交的作业数目超过1000万个。

Yahoo的Hadoop应用主要包括以下几个方面:  

广告系统支持

用户行为分析

Web搜索支持

反垃圾邮件系统

个性化推荐

国内应用

阿里巴巴

阿里巴巴的Hadoop集群大约有3200台服务器,大约30000物理CPU核心,总内存100TB,总的存储容量超过60PB,每天的作业数目超过150000个  

Hadoop集群主要为电子商务网络平台提供底层的基础计算和存储服务,主要应用包括:

· 数据平台系统。

· 搜索支撑。

· 电子商务数据。

· 推荐引擎系统。

· 搜索排行榜。

Hadoop版本

发行版

Hadoop发行版本分为开源社区版和商业版。

        开源社区版:指由Apache软件基金会维护的版本,是官方维护的版本体系,版本丰富,兼容性稍差。

        商业版:指由第三方商业公司在社区版Hadoop基础上进行了一些修改、整合以及各个服务组件兼容性测试而发行的版本,比较著名的有cloudera的CDH等。

三大版本

        1.x版本系列:hadoop的第二代开源版本,该版本基本已被淘汰

        2.x版本系列:架构产生重大变化,引入了Yarn平台等许多新特性,是现在使用的主流版本。         3.x版本系列:   该版本是最新版本。

Hadoop架构

HDFS(分布式存储文件系统): 解决了海量数据的存储

        NameNode(主节点):管理从节点,分配存储数据的任务 存储元数据(描述数据的数据)         SecondaryNameNode(辅助主节点): 帮助主节点合并管理元数据

        DataNode(从节点):存储海量数据

YARN(资源调度的组件): 解决了多任务的资源调度

        ResourceManager(主节点): 接收用户计算请求任务   根据任务进行资源分配         NodeManager(从节点): 执行主节点分配的任务

MapReduce(分布式计算组件): 解决了海量数据的计算

        核心思想: 分而治之

        map阶段: 先拆分成多个map任务

        reduce阶段: 再执行reduce任务把各个map结果合并归纳 ​

三大组件配合:

MapReduce计算需要的数据和产生的结果需要HDFS来进行存储

MapReduce的运行需要由Yarn集群来提供资源调度。

Hadoop架构模块

Hadoop2.x架构内部模型-HDFSYarn

HDFS模块

NameNode(主节点):集群当中的主节点,主要用于管理集群当中的各种数据

SecondaryNameNode(辅助主节点):主要能用于hadoop当中元数据信息的辅助管理

DataNode(从节点):集群当中的从节点,主要用于存储集群当中的各种数据

数据计算核心模块:

ResourceManager(主节点):接收用户的计算请求任务,并负责集群的资源分配

NodeManager(从节点):   负责执行主节点分配的任务

Hadoop2.x架构模型-MapReduce

Hadoop模块之间的关系

MapReduce计算需要的数据和产生的结果需要HDFS来进行存储

MapReduce的运行需要由Yarn集群来提供资源调度。

Hadoop集群搭建

集群简介

HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起。

HDFS集群

NameNode、DataNode、SecondaryNameNode

YARN集群

  ResourceManager、NodeManager

集群搭建方式

Standalone mode(单机模式)

        单机模式, 1个机器上运行HDFS的NameNode和DataNode、YARN的 ResourceManger和NodeManager,主要用于学习和调试。

Cluster mode(集群模式)

        集群模式主要用于生产环境部署。会使用N台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上。

大数据集群方案-单机模式

注意,在单机模式下,要求Windows系统运行内存至少也是8G!

大数据集群方案-集群模式

本套已经搭建好Hadoop所有的开发环境,集群模式方案如下:

注意,在集群模式下,要求Windows系统运行内存至少是16G!

Hadoop集群使用

集群介绍:  

        用户名: root  

        密码: 123456

        初始使用: 把三台虚拟机快照恢复到7hive安装完成   注意: hive没有配置环境变量,可以自己配置 ​

启动集群  

        启动hdfs和yarn命令: start-all.sh  

        停止hdfs和yarn命令: stop-all.sh  

        启动mr历史任务服务器: mapred --daemon start historyserver

        jps: 查看java进程的一个小工具 ​

本地配置域名映射  

        注意: 想要上传文件夹需要配置本地域名映射  

        hosts文件路径: C:\Windows\System32\drivers\etc

        把以下内容复制到文件末尾,保存      

                192.168.88.161 node1.itcast.cn node1      

                192.168.88.162 node2.itcast.cn node2      

                192.168.88.163 node3.itcast.cn node3  

        配置完成后,可以直接通过node1访问

Hadoop启动和关闭-集群模式

1、启动三台虚拟机

在资料中已经提供好了三台虚拟机, 分别为node1(192.168.88.161)、node2(192.168.88.162)、node3(192.168.88.163)

2、使用CRT分别连接三台虚拟机

3、集群一键启动和关闭

一键启动大数据环境

一键关闭大数据环境

注意: 想要查看mr历史任务需要单独启动historyserver

Hadoop页面访问-集群模式

4.查看启动进程-jps    java的进程

5、查看HDFS页面

启动NameNode.连接URL: http://192.168.88.161:9870

6、查看YARN页面

启动ResourceManager.连接URL:http://192.168.88.161:8088

7、查看已经finished的mapreduce运行日志

启动historyserver.连接URL:http://192.168.88.161:19888

web-ui页面查看

HDFS: http://node1:9870/    

YARN: http://node1:8088/    

MR: http://node1:19888

官方MapReduce示例

在Hadoop的安装包中,官方提供了MapReduce程序的示例examples,以便快速上手体验MapReduce。

该示例是使用java语言编写的,被打包成为了一个jar文件。

/export/server/hadoop-3.3.0/share/hadoop/mapreduce

评估圆周率π(PI)

MapReduce程序评估一下圆周率的值,执行中可以去YARN页面上观察程序的执行的情况。 hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi x  y

第一个参数pi:表示MapReduce程序执行圆周率计算;

第二个参数x:用于指定map阶段运行的任务次数,并发度,举例:x=10

第三个参数y:用于指定每个map任务取样的个数,举例: x=50。

单词词频统计WordCount

WordCount算是大数据统计分析领域的经典需求了,相当于编程语言的HelloWorld。统计文本数据中, 相同单词出现的总次数。用SQL的角度来理解的话,相当于根据单词进行group by分组,相同的单词 分为一组,然后每个组内进行count聚合统计。

已知word.txt文件内容如下,计算每个单词出现的次数

zhangsan lisi wangwu zhangsan

zhaoliu lisi wangwu zhaoliu

xiaohong xiaoming hanmeimei lilei

zhaoliu lilei hanmeimei lilei

第一个参数:wordcount表示执行单词统计的MapReduce程序;

第二个参数:指定输入文件的路径;

第三个参数:指定输出结果的路径(注意:该路径不能已存在);

配置本地域名解析:

# HadoopCluster
192.168.88.161    node1.itcast.cn node1
192.168.88.162    node2.itcast.cn node2
192.168.88.163    node3.itcast.cn node3

#添加后保存关闭

HDFS文件系统

HDFS的概述

在现代的企业环境中,单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称为分布式文件系统 。 ​

HDFS(Hadoop Distributed File System)是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据 (比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口, 像是访问一个普通文件系统一样使用分布式文件系统.  

分布式文件系统解决的问题就是大数据存储。它们是横跨在多台计算机上的存储系统。分布式文件系统在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力。

HDFS的特点

        HDFS文件系统可存储超大文件,时效性稍差。

        HDFS具有硬件故障检测和自动快速恢复功能。

        HDFS为数据存储提供很强的扩展能力。

        HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。

        HDFS可在普通廉价的机器上运行。

HDFS的架构

HDFS采用Master/Slave架构

一个HDFS集群有两个重要的角色,分别是Namenode和Datanode。

HDFS的四个基本组件:HDFS Client、NameNode、DataNode和Secondary NameNode。

1、Client

就是客户端。

文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储

与 NameNode 交互,获取文件的位置信息。

与 DataNode 交互,读取或者写入数据。

Client 提供一些命令来管理 和访问HDFS,比如启动或者关闭HDFS。

2、NameNode

就是 master,它是一个主管、管理者。

管理 HDFS 元数据(文件路径,文件的大小,文件的名字,文件权限,文件的block切片信息….)。

配置副本策略。

处理客户端读写请求。

3、DataNode

就是Slave。

NameNode 下达命令,DataNode 执行实际的操作。

存储实际的数据块。

执行数据块的读/写操作。

定时向namenode汇报block信息。

4、Secondary NameNode

并非 NameNode 的热备。

当NameNode 挂掉的时候,它并不能马上替换 NameNode 并提供服务。

辅助 NameNode,分担其工作量。 在紧急情况下,可辅助恢复 NameNode。

HDFS的副本机制

HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件存储成一系列的数据块,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的。

hdfs配置文件:https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

为了容错,文件的所有block都会有副本。每个文件的数据块大小和副本系数都是可配置的。 hadoop 当中, 文件的 block 块大小默认是 128M(134217728字节)。

hadoop 当中, 文件的 block 块大小默认是 128M(134217728字节)默认是3个副本。

HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件存储成一系列的数据块,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的。
hdfs配置文件:https://hadoop.apache.org/docs/r3.3.4/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
为了容错,文件的所有block都会有副本。每个文件的数据块大小和副本系数都是可配置的。

HDFS的Shell命令

HDFS的shell命令: 操作命令类似于Linux的shell对文件的操作,如ls、mkdir、rm等。

HDFS的shell命令格式:
格式1: hadoop  fs  <args>   # 既可以操作HDFS,也可以操作本地系统
或者
格式2: hdfs dfs  <args>    # 只能操作HDFS系统

可以使用hdfs dfs -h 查看所有命令

put: 上传  本地linux系统上传到HDFS文件系统上
get: 下载  从HDFS文件系统上下载到本地

Shell命令介绍

安装好hadoop环境之后,可以执行hdfs相关的shell命令对hdfs文件系统进行操作,比如文件的创建、删除、修改文件权限等。

对HDFS的操作命令类似于Linux的shell对文件的操作,如ls、mkdir、rm等。

Hadoop提供了文件系统的shell命令使用格式如下:

ls命令

mkdir命令

put命令

get命令

hadoop fs -get [-f] [-p] <src> ... <localdst>     

        下载文件到本地文件系统指定目录,localdst必须是目录     

        -f 覆盖目标文件(已存在下)     

        -p 保留访问和修改时间,所有权和权限。

mv命令

rm命令

cp命令

cat命令

HDFS shell命令行常用操作

合并下载HDFS文件

hadoop fs -getmerge [-nl] [-skip-empty-file] <src> <localdst>     

        下载多个文件合并到本地文件系统的一个文件中。     

        -nl选项表示在每个文件末尾添加换行符

追加数据到HDFS文件中

hadoop fs -appendToFile <localsrc> ... <dst>     

        将所有给定本地文件的内容追加到给定dst文件。     

        dst如果文件不存在,将创建该文件。     

        如果<localSrc>为-,则输入为从标准输入中读取。

标签:HDFS,存储,HadoopHDFS,导论,Hadoop,集群,Apache,数据,分布式
From: https://blog.csdn.net/m0_63845988/article/details/143469977

相关文章

  • Hadoop分布式文件系统架构和设计
    Hadoop分布式文件系统架构和设计引言Hadoop分布式文件系统(HDFS)是一个设计用于在普通硬件上运行的分布式文件系统。它与现有的分布式文件系统有许多相似之处。然而,HDFS与其他分布式文件系统的差异是显著的。HDFS具有高度的容错能力,并且设计用于在低成本硬件上部署。HD......
  • 分布式互斥的高效容错解决方案
    在分布式系统领域,确保在任何给定时间只有一个进程可以访问共享资源至关重要——这就是互斥发挥作用的地方。如果没有可靠的方法来实施互斥,系统很容易遇到数据不一致或竞争条件等问题,从而可能导致灾难性的故障。随着分布式系统变得越来越复杂,对管理共享资源访问的强大算法的需求变......
  • 《使用Gin框架构建分布式应用》阅读笔记:p307-p392
    《用Gin框架构建分布式应用》学习第16天,p307-p392总结,总86页。一、技术总结1.AWSchapter08讲使用AWS进行部署,可以根据需要选择是否阅读。因为使用到的概率很小,且还要绑卡,本人选择跳过。2.CI/CD(1)什么是CI/CDp348,Luckily,manydeploymentstepscanbeautomated,saving......
  • Redis伪分布式集群三主三从模式+开启自启动+自动部署集群
    搭建redis集群首先进入一个新目录,创建六个以端口号为名字的子目录$mkdirredis-cluster$cdredis-cluster$mkdir800180028003800480058006添加集群配置文件把编译好的redis.conf文件复制到redis-cluster/800*/文件夹中修改对应文件夹的redis.conf,内容如下:da......
  • hadoop-3.1.2分布式搭建
    一、准备工作三台虚拟机:master、node1、node2时间同步关闭防火墙:systemctlstopfirewalld查看防火墙状态:systemctlstatusfirewalld取消防火墙自启:systemctldisablefirewalld修改主机名三台分别执行vim/etc/hostname并将内容指定为对应的主机名静态......
  • 电能质量治理产品在分布式光伏电站的应用
    1.概述随着全球对可再生能源需求的不断增长,分布式光伏电站的建设与扩张正迅速发展。然而,在其运行过程中,分布式光伏电站遭遇了一系列挑战,包括企业关口计量点功率因数降低和谐波污染等问题。这些问题不仅影响了光伏电站的运行效率,还对企业的电网稳定性和电费成本产生了不利影响......
  • 大数据导论第九章作业
    第九章作业1、试述大数据分析全流程主要包括哪些环节?答:为了实现之前给出的系统设计方案,需要选择确定相关的实现技术。具体如下:①数据集。通过网络爬虫从网络获得电影评分数据集,这里使用Scrapy爬虫。②操作系统。在构建大数据分析系统时,一般建议采用Linux系统,Linux系统有许......
  • 【机器人学导论】简明学习笔记2.1——空间描述和变换(1/2)
    主要参考学习资料:《机器人学导论(第4版)》JohnJ.Craig著台大机器人学之运动学——林沛群(本文插图来自该课程课件)本章前置知识:矢量和矩阵的四则运算-单位矩阵-转置矩阵-逆矩阵-正交矩阵码字不易,求点赞收藏(´•ω•̥`)有问题欢迎评论区讨论~目录空间描述和变换描......
  • 《使用Gin框架构建分布式应用》阅读笔记:p272-p306
    《用Gin框架构建分布式应用》学习第15天,p272-p306总结,总35页。一、技术总结1.TDD(test-drivendevelopment)虽然经常看到TDD这个属于,从本人的工作经历看,实际开发中用得相对较少。2.unitest(单元测试)go语言开发中,使用testify进行单元测试开发。(1)创建测试文件测试文件以xx......