01-黑马程序员大数据开发

一.  Hadoop概述

1. 什么是大数据

  • 狭义上:对海量数据进行处理的软件技术体系
  • 广义上:数字化、信息化时代的基础支撑,以数据为生活赋

2. 大数据的核心工作:

  • 存储:妥善保存海量待处理数据;Apache KUDU、云平台存储:阿里云OSS、UCloud的US3、AWS的S3、金山云的KS3等等
  • 计算:完成海量数据的价值挖掘;Apache Hadoop - MapReduce;ApacheHive是一款以SQL为要开发语言的分布式计算框架;Apache Spark;ApacheFlink
  • 传输:协助各个环节的数据传输;Apache Kafka是一款分布式的消息系统,可以完成海量规模的数据传输工作;Apache PULSAR; Apache Flume是一款流失数据采集工具;Apache Sqoop是一款ETL工具,可以协助大数据体系和关系型数据库之间进行数据传输。

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

  • 分布式数据存储
  • 分布式数据计算
  • 分布式资源调度

为一体的整体解决方案。是典型的分布式软件框架,可以部署在1台乃至成千上万台服务器节点上协同工作。Hadoop是开源的技术框架,提供分布式存储、计算、资源调度的解决方案。个人或企业可以借助Hadoop构建大规模服务器集群,完成海量数据的存储和计算。

4. Hadoop是一个整体,其内部还会细分为三个功能组件,分别是:
        HDFS组件:HDFS是Hadoop内的分布式存储组件,可以构建分布式文件系统用于数据存储
        MapReduce组件:NapReduce是Hadoop内分布式计算组件,提供编程接口供用户开发分布式计算程序
        YARN组件:YARN是Hadoop内分布式资源调度组件。 可供用户整体调度大规模集群的资源使用。

二.  HDFS组件

2.1 为什么需要分布式存储

  • 数据量太大,单机存储能力有上限,需要靠数量来解决问题
  • 数量的提升带来的是网络传输、磁密读写(多倍的网络传输效率、多倍的磁盘写入效率)、CPU、内存等各方面的综合提升。分布式组合在一起可以达到1+1>2的效果

2.2 分布式的基础架构分析

1.  分布式系统常见的组织形式?大数据体系中,分布式的调度主要有2类架构模式:

  • 去中心化模式:没有明确的中心,众多服务器之间基于特定规则进行同步协调;如区块链
  • 中心化模式:以一个节点(1台服务器)作为中心,去统一调度其他的节点

2. 大数据框架,大多数的基础架构上,都是符合:中心化模式的(一主多从模式,简称主从模式(MasterAndSlaves))
即:有一个中心节点(服务器)来统筹其它服务器的工作,统一指挥,统一调派,避免混乱。在现实生活中很常见:公司企业管理、组织管理、行政管理

3.  Hadoop是哪种模式?
        主从模式(中心化模式)的架构

2.3 HDFS的基础架构

1.  HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一

  • 全称是:Hadoop Distributed File System (Hadoop分布式文件系统)
  • 是Hadoop技术栈内提供的分布式数据存储解决方案
  • 功能:可以在多台服务器上构建存储集群,存储海量的数据

 2.   HDFS中的架构角色有哪些?

  • NameNode:主角色,管理HDFS集群和DataNode角色
  • DataNode:从角色,负责数据的存储
  • SecondaryNameNode:辅助角色,协助NameNode整理元数据

3. HDFS的基础架构


2.4 HDFS集群环境部署

2.4.1 VMware虚拟机中的部署

第二章-04-[实操]VMware虚拟机部署HDFS集群_哔哩哔哩_bilibili

1. 上传和解压到/export/server,配置软链接

hadoop安装包目录结构

2.  修改4份配置文件,应用自定义设置:找到etc配置文件中的以下4个文件,对其进行修改。

四个文件配置完成。继续:分发到node2、node3,并设置环境变量

4. 创建数据目录,并修改文件权限归属hadoop账户。此时三台机器就配置完成了。还剩下至关重要的一步:授权hadoop用户。也就是将\data和\export文件的root用户变成hadoop用户。

前置准备工作全部完成,下一步开始去执行相关的命令并启动它。首先格式化整个文件系统

5. 启动,并查看WEB UI

回收站的配置:
        vim core-site.xml

集群部署常见问题解决:

1. 千辛万苦部署好了Hadoop的HDFS集群,如果中间出现误操作导致集群出现问题了怎么办?有没有什么方便的办法保存刚刚部署好的状态?
答:在虚拟机里面部署好hadoop之后,记得打(虚拟机)快照,当出现问题之后,可以恢复到快照即可。

打快照之前要将hdfs集群关闭【在hadoop权限下操作,不能在root权限下】—— 关闭整个服务器—— 退回root账户 —— init 0 关机(node1、node2、node3都关机) —— 打快照。

  • 是否遗漏了前置准备章节的相关操作?
    包括服务器的创建、SSH免密、Hadoop用户的创建、防火墙的关闭、固定IP主机名映射、JDK部署等。
  • 是否遗漏的将文件夹(Hadoop安装文件夹、/data数据文件夹)chown授权到hadoop用户这一操作。
    从root授权到hadoop用户,将导致hadoop用户没有权限,此时集群无法启动成功。 
  • 是否遗忘了格式化hadoop这一步 (hadoop namenode -format)
  • 是否是以root用户格式化的hadoop。
    此时再以hadoop用户去启动集群时会遇到没有权限的问题。
  • 是否以root启动过hadoop,后续以hadoop用户启动出错。
    只要以root操作过一次,那么相关的一些目录权限都归root了,后续再以hadoop启动,就会没有权限。
  • 是否确认workers文件内,配置了node1、node2、node3三个节点
    如果没有配置三个节点,后续在执行start dfs.sh这个脚本文件启动脚本文件时,只有node1启动了,node2和node3没有反应。
  • 是否在/etc /profile内配置了HADOOP_ HOME环境变量,并将$HADOOP_HOME/bin和$HADOOP_HOME/sbin加入PATH变量
    如果没有配置,后续在执行start dfs.sh脚本或stop dfs.sh脚本时,会出现“命令不存在”;或者hadoop namenode -format时,也会出现hadoop命令不存在,因为hadoop命令来自bin文件夹相关脚本,start 来自sbin文件夹中的相关脚本。
  • 是否遗忘了软链接,但环境变量的配置的HADOOP_HOME却是:/export/server/hadoop
    环境配置时用的是简写hadoop,如果没有软链接,就会出现问题
  • 是否确认配置文件内容的准确(一个字符都不错),并确保三台机器的配置文件都OK。
详细细节版:第二章-06-[了解]集群部署常见问题-2_哔哩哔哩_bilibili

常见出错点:权限未正确设置、配置文件错误、未格式化。要细心,查日志看出错原因。

2.4.2 云服务器中的部署:阿里云、Ucloud两种,操作步骤一样。

第二章-07-[可选]云服务器上部署hdfs集群_哔哩哔哩_bilibili

1. 云服务器如何保存服务器状态、或者说出错了怎么快速恢复状态呢?

  • 云服务器快照服务(可能收费,不推荐)
  • 打包配置好的Hadoop安装包留存(推荐)

2.5 HDFS的Shell操作

2.5.1 HDFS相关进程的启停管理命令

1. Hadoop HDFS组件内置了HDFS集群的一键启停脚本。

  • $HADOOP_HOME/sbin/ start-dfs.sh ,一键启动HDF
  • $HADOOP_HOME/sbin/stop-dfs.sh ,一键关闭HD

2. 除了一键启停外,也可以单独控制进程的启停。

  • $HADOOP_HOME/sbin/hadoop-daemon.sh,此脚本可以单独控制所在机器(node1 or node2)的进程的启停;
  • $HADOOP_HOME/bin/hdfs,此程序也可以用以单独控制所在机器的进程的启停
hadoop -daemon.sh(start|status|stop)(namenode|secondarynamenode|datanode);
hdfs --daemon(start|status|stop)(namenode|secondarynamenode|datanode)
2.5.2 HDFS文件系统的基础操作命令

1.  HDFS作为分布式存储的文件系统,有其对数据的路径表达方式
•   HDFS同Linux系统一样,均是以/作为根目录的组织形式,例如:
        Linux:         /usr/local/hello.txt,如路径:file:///usr/local/hello.txt
        HDFS:        /usr/local/hello.txt,如路径:hdfs://node1:8020/usr/local/hello.txt
那么怎么区分命令操作的事Linux还是HDFS? 可以通过协议头file:// 或者hdfs://namenode:port(可以省略,需要提供LinuX路径的参数,会自动识别为file://,需要提供HDFS路径的也会自动识别)。

2. 关于HDFS文件系统的操作命令,Hadoop提供了2套命令体系:用法完全一致
​​​​​​​        • 老版本:hadoop fs [generic options]
        • 新版本:hdfs dfs [generic options]

# 1. 创建文件夹
# hadoop fs -mkdir [-p] <path> ...
# hdfs dfs -mkdir [-p] <path> ...
hadoop fs -mkdir -p /itcast/bigdata  #创建在hadoop文件系统里
hdfs dfs -ls /            #查看hadoop文件系统根目录下的文件:有itcast文件夹
hdfs dfs -ls /itcast      #查看hadoop文件系统根目录下的文件:有bigdata文件夹
# 2. 查看置顶目录下内容
# hdfs dfs -ls [-h] [-R] <path> ...  # 3. 从本地Linux向HDFS上传文件,到HDFS指定目录下
# pdfs dfs -put [-f] [-p] <localsrc> ... <dst> 
# -f:强制覆盖目标文件;-p:保留文件信息、访问和修改时间、所有权和权限; localscr:Linux本地的文件; dst:上传到HDFS的位置
vim test.txt #在Linux中新建一个文件
vim test2.txt
hadoop fs -put file:///home/hadoop/test.txt hdfs://node1:8020/  #上传到hdfs文件体统的根目录
hdfs dfs -put /home/hadoop/test2.txt /# 4.查看HDFS文件内容
# hdfs dfs -cat <src> ... 
hadoop fs -cat /test.txt
# hdfs dfs -cat <src> | more 
# 读取大文件时,防止可以使用 管道符配合more 进行翻页查看。
hadoop fs -cat /test2.txt | more# 5.从HDFS中向Linux中下载文件
# hdfs dfs -get [-f] [-p] <src> ... <localdst>
hdfs dfs -get /test.txt .  #.代表Linux的当前目录,将test文件下载到Linux当前目录
hdfs dfs -get -f /test.txt .# 6. 拷贝HDFS文件/改名
# hdfs dfs -cp [-f] <src> ... <dst> #两个路径都是HDFS文件系统中的路径
# <src>是被复制的路径。<dst>是目标路径
hdfs dfs -cp /test.txt /home/
hdfs dfs -cp /test.txt /home/abc.txt# 7. 追加数据到HDFS文件中:HDFS文件系统中文件的修改仅支持 删除文件 和 追加内容 两种,不能修改其中的内容。
vim append.txt  #在Linux本地创建文件append.txt
hadoop fs -appendToFile append.txt /test.txt  #将本地的文件追加到HDFS文件系统的test文件末尾# 8. HDFS数据移动操作/重命名
hadoop fs -mv /test.txt /itheima/  #将test文件移动到itheima文件夹下
hadoop fs -mv /test2.txt /itheima/abc.txt. #完成移动文件的同时对文件进行改名# 9. HDFS数据删除操作:删除文件-rm or文件夹-rm -r
# hadoop fs -rm -r [-skipTrash] URI [URI ...]
# -skipTrash 跳过回收站,直接删除;回收站默认是关闭的,如果要开启需要在core-site.xml内配置(在那个机器里配置,那个机器即时生效,不需要重启集群)
hadoop fs -rm -r /home
hadoop fs -rm /test.txt

 命令官方指导文档
Hadoop文档

除了写命令,也可以在HDFS WEBUI网页端上进行操作(有些操作没有权限,但是可以授予权限,进行以下配置)。

mkdir创建文件夹
ls、cat列出内容、查看内容

cp、mv、rm

复制、移动、删除
put、get上传、下载
appendToFile向文件追加内容

Permission denied:遇到这种体型,其实是因为在HDFS之上没有权限。在整个HDFS文件系统中,也是有文件的权限控制的,它的逻辑和Linux文件系统完全一致。既然有权限控制,那么就存在超级用户,HDFS与Linux之间的不同之处在于超级用户的不同,Linux的超级用户是root,HDFS文件系统的超级用户是(也就是课程的hadoop用户)。因此,如果在遇到这个问题,大概率是因为操作HDFS时没有以Hadoop用户执行,而是以root用户执行。

# 在HDFS中,可以使用和Linux一样的授权语句,即:chown和chmod
# 修改所属用户和组:
hadoop fs -chown [-R] root:root /xxx.txt
hdfs dfs -chown [-R] root:root /xxx.txt
hdfs dfs -chown root:supergroup /test.txt
# 修改权限
hadoop fs -chmod [-R] 777 /xxx.txt
hdfs dfs -chmod [-R] 777 /xxx.txt
hdfs dfs -chmod -R 777 /data
# -R:对子目录也会生效,将文件xxx.txt的权限改成777
# 课后练习
hadoop fs -mkdir -p /itcast/itheima
hadoop fs -put /etc/hosts /itcast/itheima/
hadoop fs -ls /itcast/itheima
hadoop fs -cat /itcast/itheima/hostsvim append.txt  #(要追加的内容:itheima)
hadoop fs -appendToFile append.txt /itcast/itheima/hosts
hadoop fs -cat /itcast/itheima/hosts
hadoop fs -get /itcast/itheima/hosts .hadoop fs -mkdir /itcast/bigdata
hadoop fs -cp /itcast/itheima/hosts /itcast/bigdata/
hadoop fs -ls /itcast/bigdata
hadoop fs -cat /itcast/bigdata/hostshadoop fs -mv /itcast/itheima/hosts /itcast/itheima/myhost
hodoop fs -ls /itcast/itheima/
hadoop fs -rm -r /itcast
2.5.3 HDFS客户端 - Jetbrians产品插件

了解在JetBrains产品中(IntelliJ IDEA、PyCharm、DataGrip)安装使用Big Data Tools插件,去对HDFS的文件系统进行相关的操作。以DataGrip为例。
设置 -> Plugins(插件) -> Marketplace(市场)-> 搜索Big Data Tools,点击Install安装即可。完整配置过程见视频:windows

第二章-11-[实操]HDFS客户端-Big Data Tools插件_哔哩哔哩_bilibili


2.5.4 HDFS客户端-NFS

目标:使用NFS网关功能将HDFS文件系统挂载到我们windows本地系统中。

将HDFS挂载到类似于C盘D盘的位置。

配置NFS:
1. core-site.xml,新增配置项;hdfs-site.xml,新增配置项;
2. 开启portmap、nfs3两个进程。

课程设置的允许192.168.88.1以rw链接(这个IP是电脑虚拟网卡VMnet8的IP,连接虚拟机就走这个网卡) 

cd /export/server/hadoop/etc/hadoop/
vim core-site.xml
# 配置相应内容
vim hdfs-site.xml

配置好这些功能之后,启用NFS功能:

# 1.将配置好的core-site.xml和hdfs-site.xml分发到node2和node3
scp core-site.xml hdfs-site.xml node2:'pwd'/
scp core-site.xml hdfs-site.xml node3:'pwd'/
# 2.重启HadoopHDFS集群(先stop-dfs.sh,后start-afs.sh)
stop-dfs.sh# 3.停止系统的NFS相关进程(hadoop没有权限,需要退回root用户)
#    a.systemctl stop nfs;systemctl disable nfs关闭系统nfs并关闭其开机自启
#    b.yum remove-y rpcbind卸载系统自带rpcbind
exit
systemctl stop nfs
systemctl disable nfs
yum remove-y rpcbind(我们需要用hdfs系统自带的portmap)
# 4.启动portmap(HDFS自带的rpcbind功能)(必须以root执行):
hdfs--daemon start portmap
# 5.启动nfs(HDFS自带的nfs功能)(必须以hadoop用户执行):
hdfs--daemon start nfs3

检查NFS是否正常:
 1. 在node-2和node-3中执行:rpcinfo -p node1,正常输出有mountd和nfs出现。
2. 执行 showmount -e node1,可以看到 /192.168.88.1

在windows挂载HDFS文件系统
第二章-12-[可选]HDFS客户端-NFS挂载到Windows本地_哔哩哔哩_bilibili

2.6 HDFS的存储原理 

2.6.1 存储原理  

目标:了解数据是如何在HDFS中进行存储的;了解数据在HDFS中是如何保证安全的
        1. 设定统一的管理单位——block块:是HDFS最小存储单位,每个256MB(可以修改)。
        2. 通过多个副本(备份)解决,每个副本都复制到其他服务器1份,安全性极大提高

总结:数据存入HDFS是分布式存储,即每一个服务器节点,负责数据的一部分;数据在HDFS上是划分为一个个Block块进行存储;在HDFS上,数据Block块都可以有多个副本,副本也会分发到其他服务器上,提高数据安全性。

2.6.2 fsck命令

目标:了解如何配置HDFS数据块的副本数量;掌握fsck命令查看文件系统状态及验证文件的副本数量
方法1:  默认是3副本数

方法2:  除了配置文件外,我们还可以在上传文件的时候,临时决定被上传文件以多少个副本存储。只针对本次生效
方法3:  对于已经存在HDFS的文件,修改dis.replication屆性不会生效,如果要修政已存在文件可以通过命令

使用fsck命令去检查文件的副本数、blocks数、位置:

hadoop fs -D dfs.replication=2 -put test.txt /tmp/  #方法2
hadoop fs -setrep [-R] 2 path    #方法3
# hdfs fsck path [-files [-blocks [-locations]]]   #检查副本数
hdfs fsck /test.txt -files -blocks -locations
2.6.3 NameNode元数据

目标:掌握NameNode是如何管理Block块的
        edits文件:是一个流水账文件,记录了hdfs中的每一次操作,以及本次操作影响的文件其对应的block
        fsimage文件:將全部的edits文件,合并为最终结果,即可得到一个FSimage文件

NameNode基于edits和FSimage的配合,完成整个文件系统文件的管理(维护整个文件系统元数据)

  • edits记录每次操作
  • fsimage,记录某一个时间节点的当前文件系统全部文件的状态和信息

        1.每次对HDFS的操作,均被edits文件记录
        2.edits达到大小上线后,开启新的edits记录
        3. 定期进行edits的合并操作(元数据合并参数可以修改)
                a. 如当前没有fsimage文件,将全部edits合并为第一个fsimase
                b. 如当前己存在fsimage文件,将全部edits和己存在的fsimage进行合并,形成新的fsimage

⚠️:NameNode是写edits文件,合并操作是又SecondaryNameNode做的,合并完成再提供给NameNode文件使用。

​​​​​​​2.6.4 HDFS数据的读写流程

目标:理解客户端在HDFS上读、写数据的流程
写入流程:

1. NameNode不接收数据,不负责数据写入,只负责元数据记录和权限审批
2. 客户端直接向1台DataNode写数据。这个DataNode一般是离客户端最近(网络距离)的那个
3. 数据块副本的复制工作,由DataNode之间自行完成(构成一个PipLine,按顺序复制分发,如图1给2,2给3和4)

读取流程:
​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/577040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5g消息-5G时代短信升级-富媒体智能交互-互联网新入口

在5G时代&#xff0c;运营商和各大手机厂商都在积极推进5G消息的商用&#xff0c;基于短信入口的富媒体消息应用在近两年得到快速发展&#xff0c;并在企业端形成了广泛应用。 作为5G时代的数字原生应用&#xff0c;5G消息支持用户通过文字、图片、音频、视频、位置等富媒体方式…

【算法题】链表重排(js)

力扣链接&#xff1a;https://leetcode.cn/problems/LGjMqU/description/ /*** Definition for singly-linked list.* function ListNode(val, next) {* this.val (valundefined ? 0 : val)* this.next (nextundefined ? null : next)* }*/ /*** param {ListNode…

C++11(上):新特性讲解

C11新特性讲解 前言1.列表初始化1.1{ }初始化1.2std::initializer_list 2.类型推导2.1 auto2.2 typeid2.3 decltype 3.范围for4.STL的变化4.1新容器4.2容器的新方法 5.右值引用和移动语义5.1 左值引用和右值引用5.2 左值引用与右值引用比较5.3 右值引用的使用场景5.4 右值、左值…

浙江大唐乌沙山电厂选择ZStack Cloud打造新一代云基础设施

浙江大唐乌沙山电厂选择云轴科技ZStack Cloud云平台为其提供高性能、高可用的云主机、云存储和云网络&#xff0c;构建了简单、稳定、安全、高效的云基础设施&#xff1b;通过ZStackCloud为其提供可视化服务编排、多租户自服务等模块&#xff0c;帮助电厂提高IT资源利用率&…

解决FTP传输慢的问题(ftp传输慢为什么)

在企业运营中&#xff0c;使用FTP进行文件或数据传输是相当普遍的做法。尽管FTP是一种传统的文件传输工具&#xff0c;但在实际应用中&#xff0c;我们可能会面临传输速度缓慢的问题&#xff0c;这不仅影响工作效率&#xff0c;还浪费时间。为了解决这一问题&#xff0c;我们可…

泛微OA xmlrpcServlet接口任意文件读取漏洞(CNVD-2022-43245)

CNVD-2022-43245 泛微e-cology XmlRpcServlet接口处存在任意文件读取漏洞&#xff0c;攻击者可利用漏洞获取敏感信息。 1.漏洞级别 中危 2.影响范围 e-office < 9.5 202201133.漏洞搜索 fofa 搜索 app"泛微-OA&#xff08;e-cology&#xff09;"4.漏洞复现 …

vue 项目/备案网页/ip网页打包成 apk 安装到平板/手机(含vue项目跨域代理打包成apk后无法访问接口的解决方案)

下载安装HBuilder X编辑器 https://www.dcloud.io/hbuilderx.html 新建 5APP 项目 打开 HBuilder X&#xff0c;新建项目 此处项目名以 ‘test’ 为例 含跨域代理的vue项目改造 若 vue 项目中含跨域代理&#xff0c;如 vue.config.js module.exports {publicPath: "./&…

【C++】开源:FTXUI终端界面库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍FTXUI终端界面库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c…

【文本处理】正则表达式

一、简介 正则表达式&#xff0c;又称规则表达式,&#xff08;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09;&#xff0c;是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊字符&…

苹果发布了一个Ferret(雪貂)多模态大模型,在一个无人问津的角落被一位博主捞起来

苹果12月14日释放了一个名为Ferret的多模态大语言模型&#xff0c;有的翻译是雪貂&#xff0c;有的是法学硕士&#xff0c;要我说&#xff0c;还是叫雪貂吧&#xff0c;接地气亲民&#xff0c;将来犯蠢的时候出来发张雪貂的可爱表情包作公关就完事了&#xff0c;你个法学硕士到…

C语言—每日选择题—Day63

指针相关博客 打响指针的第一枪&#xff1a;指针家族-CSDN博客 深入理解&#xff1a;指针变量的解引用 与 加法运算-CSDN博客 第一题 1. 设C语言中&#xff0c;一个int型数据在内存中占2个字节&#xff0c;则unsigned int型数据的取值范围为 A&#xff1a;0~255 B&#xff1a;0…

mysql8.x版本_select语句源码跟踪

总结 源码基于8.0.34版本分析&#xff0c;函数执行流程含义大致如下&#xff1a; do_command 方法从连接中读取命令并执行&#xff0c;调用 dispatch_command 对命令进行分发。dispatch_command 调用 mysql_parse 对命令进行解析&#xff0c;如果遇到一条语句用 ; 分隔多条命…

CGAL中三角形曲面网格近似

1、介绍 此软件包实现了变分形状近似&#xff08;VSA&#xff09;方法&#xff0c;通过更简单的表面三角形网格来近似输入表面网格。该算法的输入必须是&#xff1a; 三角形分割&#xff1b;组合2流形 输出是一个三角形汤&#xff0c;可以构建成多边形曲面网格。 给定一个输入曲…

linux操作系统——进程(二) 进程状态

进程状态 你真正的理解了进程的状态嘛?特别是操作系统教材中学过的进程状态&#xff0c;你真的理解了吗&#xff1f; 教材上关于进程状态的说明 下面我们以下图为例: 这是教材上对操作系统的说明&#xff0c;但是它并没有详细的说明&#xff0c;这些状态具体是什么&#xf…

大语言模型说明书

在浩瀚的信息宇宙中&#xff0c;大语言模型如同一颗璀璨的星星正在熠熠生辉。21世纪以来&#xff0c;人工智能可谓是飞速发展&#xff0c;从简单的神经网络到大语言模型、生成式AI&#xff0c;这并非仅仅是一种技术的进步&#xff0c;更是人类智慧的飞跃。大语言模型不仅仅是语…

华为数通方向HCIP-DataCom H12-831题库(多选题:241-249)

第241题 (NEW) 以下哪些操作可能会影响客户网络的正常运行? A、从设备上下载日志 B、软件升级 C、路由协议配置变更 D、debug核心交换机上转发的所有IP报文 答案:ABCD 解析: 第242题 对于防火墙的默认安全区 Trust 和 Untrust 的说法,正确的有 A、从 Trust 区域访问 Untr…

Vue在页面上添加水印

第一步&#xff1a;在自己的项目里创建一个js文件&#xff1b;如图所示我在在watermark文件中创建了一个名为waterMark.js文件。 waterMark.js /** 水印添加方法 */ let setWatermark (str1, str2) > {let id 1.23452384164.123412415if (document.getElementById(id) …

【MYSQL】MYSQL 的学习教程(六)之 SQL 语句执行流程

1. 一条 SQL 查询语句是如何被执行的 MySQL 的基本架构示意图如下所示&#xff1a; MYSQL 线程处理请求流程&#xff1a; SQL 接口&#xff1a;MySQL 中处理请求的线程在获取到请求以后获取 SQL 语句去交给 SQL 接口去处理查询解析器&#xff1a;解析器会将 SQL 接口传递过来…

操作系统期末复习知识点二计算与应用

1.理解银行家算法判断死锁的定理并能计算相关的参数。 2.能利用LRU、FIFO算法求缺页率。 3.纯页式管理中&#xff0c;求逻辑地址对应的物理地址&#xff0c;页号、页内地址长度&#xff0c;画出逻辑地址的格式&#xff0c;在引入块表时&#xff0c;求出有效访问时间。 4.可变分…

【Java】SpringBoot快速整合Kafka

目录 1.什么是Kafka&#xff1f; 主要特点和概念&#xff1a; 主要组成部分&#xff1a; 2.Kafka可以用来做什么&#xff1f; 3.SpringBoot整合Kafka步骤&#xff1a; 1. 添加依赖: 2. 配置 Kafka: 3. 创建 Kafka 生产者: 4. 创建 Kafka 消费者: 5. 发布消息: 6. 使…