0301yarnmapredude入门-hadoop-大数据学习

文章目录

    • 1 MapReduce概述
    • 2 YARN
      • 2.1 yarn概述
      • 2.2 yarn与MapReduce关系
      • 2.3 yarn架构
      • 2.4 辅助角色
    • 3 MapReduce & YARN部署
      • 3.1 集群规划
      • 3.2 配置文件
      • 3.3 分发配置文件
    • 4 体验
      • 4.1 集群启动命令介绍
      • 4.2 提交MapReduce任务到YARN执行
    • 结语

1 MapReduce概述

分布式计算是一种计算模型,它涉及将计算任务分解成多个子任务,并将这些子任务分配给多台计算机或节点以并行处理。这种计算模型的主要目标是提高计算性能、可伸缩性和可靠性,以处理大规模的数据和复杂的计算任务。分布式计算通常用于处理大数据、高性能计算(HPC)、网络服务和云计算等领域。

以下是分布式计算的一些关键概念和特点:

  1. 并行计算: 在分布式计算中,任务可以并行执行,因为它们被分配给多个计算节点。这可以显著提高计算速度,特别是对于需要大量计算资源的任务。
  2. 节点通信: 分布式计算系统中的不同节点需要进行通信,以协调任务的执行和数据的传输。通信协议和机制对于系统的性能和可靠性至关重要。
  3. 负载均衡: 为了充分利用所有计算节点,分布式系统通常需要有效地分配任务,以确保负载均衡。这可以通过动态调整任务分配来实现,以应对不同节点的性能差异。
  4. 容错性: 分布式系统需要具备容错机制,以应对计算节点的故障或通信问题。数据冗余、故障检测和恢复机制是确保系统可靠性的重要组成部分。
  5. 数据分布和复制: 在分布式计算中,数据通常分布在不同的节点上,这可以提高数据访问速度和可用性。数据的复制和分片技术可确保数据的安全性和可靠性。
  6. 资源管理: 有效管理计算资源(例如,CPU、内存和存储)是分布式计算的关键任务。资源管理器用于分配和监视资源的使用。
  7. 编程模型: 分布式计算通常涉及使用特定的编程模型,例如MapReduce、Spark、MPI(消息传递界面)等,以编写分布式应用程序。
  8. 云计算: 云计算是一种分布式计算的变体,它提供了虚拟化资源(如虚拟机和存储)的访问,使用户能够根据需要动态扩展或缩减计算资源。

分布式计算在众多领域中都有应用,包括大数据处理、科学研究、人工智能、金融建模、Web服务和网络应用。各种技术和工具,如Hadoop、Spark、Kubernetes和容器技术,已经涌现出来,用于支持分布式计算任务的管理和执行。这些技术使分布式计算更容易实现和操作,从而推动了分布式计算在现代计算中的重要性。

MapReduce是一种编程模型和处理框架,用于处理和生成大规模数据集的计算。它最初由Google开发用于内部数据处理,并在后来的论文中公开介绍,启发了Hadoop等开源实现。MapReduce模型非常适用于并行化和分布式处理大数据集,它简化了并行计算的任务,使开发人员能够专注于问题的本质而不必担心底层的分布式细节。

以下是MapReduce的基本概述:

  1. Map阶段: 在MapReduce中,输入数据集被划分成许多小的数据块。每个数据块由一个Map任务处理。Map任务的目标是将输入数据块转换为一系列键值对(key-value pairs)。这些键值对通常代表数据中的某种特征或属性,例如单词计数中的单词和出现次数。
  2. Shuffle和Sort阶段: 在Map阶段之后,MapReduce框架会将所有Map任务的输出按照键进行分组(shuffling),并将每个键值组合进行排序(sorting)。这确保了所有相同键的值都被传递给同一个Reduce任务。
  3. Reduce阶段: Reduce任务的目标是对相同键的值进行汇总或聚合。每个Reduce任务处理一个或多个键的值,并生成最终的输出结果。通常,Reduce任务执行某种数据聚合操作,如求和、求平均值、查找最大值等。

MapReduce的关键特点和优势包括:

  • 可扩展性: MapReduce模型能够轻松适应大规模数据集,只需增加更多的计算资源(例如,更多的计算节点)即可提高性能。
  • 容错性: MapReduce框架具有内置的容错机制,能够处理计算节点故障,并重新分配任务以确保计算的正确性。
  • 编程模型简单: 使用MapReduce模型,开发人员只需实现Map和Reduce函数,无需处理并发编程或分布式系统的复杂性。
  • 适用于各种任务: MapReduce不仅适用于大规模数据处理,还可以用于分布式计算的各种任务,包括日志分析、数据挖掘、文本处理和机器学习等。

尽管MapReduce是一个强大的分布式计算框架,但在处理某些类型的任务时,如迭代算法(例如图算法)和复杂数据处理流水线时,可能不是最高效的选择。因此,一些新的分布式计算框架,如Apache Spark,已经涌现出来,以提供更灵活和高性能的替代方案。不过,MapReduce仍然在许多大规模数据处理任务中广泛使用。

2 YARN

2.1 yarn概述

Apache Hadoop YARN(Yet Another Resource Negotiator)是Hadoop生态系统的一个关键组件,用于集群资源的管理和作业调度。它被设计用于提高Hadoop集群的资源利用率,支持多种数据处理工作负载,并允许多个应用程序在共享的Hadoop集群上运行而不互相干扰。以下是YARN的主要概述:

  1. 资源管理: YARN的一个主要功能是集群资源的管理。它负责跟踪和监控集群中的所有可用资源,包括计算节点上的CPU、内存和存储等。这使YARN能够有效地分配资源给正在运行的应用程序,以满足它们的需求。
  2. 多租户支持: YARN允许多个应用程序共享同一集群,每个应用程序都可以使用集群资源的一部分。这种多租户支持允许不同团队或用户在同一Hadoop集群上运行自己的作业,而不会相互干扰。
  3. 作业调度: YARN包括一个调度器,负责决定哪个应用程序可以在集群上运行,以及它们可以使用的资源量。YARN支持不同的调度策略,例如先进先出(FIFO)、容量调度和公平调度,以满足不同类型工作负载的需求。
  4. 容错性: YARN具有一定程度的容错性,可以处理计算节点的故障。如果某个节点发生故障,YARN可以重新分配任务给其他节点,以确保应用程序的继续运行。
  5. 灵活性: YARN不仅限于Hadoop MapReduce作业。它还支持其他分布式计算框架,如Apache Spark、Apache Flink和Apache Tez等。这使得YARN成为一个通用的资源管理和作业调度平台。
  6. 可扩展性: YARN是一个高度可扩展的系统,可以管理大规模的集群,适应不断增长的工作负载需求。

总之,YARN是Hadoop生态系统的关键组件之一,它提供了一个强大的资源管理和作业调度平台,使Hadoop集群更加灵活、高效和多用途。它有助于最大化集群资源的利用率,并允许不同类型的应用程序在共享的集群上同时运行,从而促进了大数据处理和分布式计算的发展。

2.2 yarn与MapReduce关系

MapReduce在YARN上运行: 在Hadoop集群上运行MapReduce作业时,YARN扮演着关键角色。当用户提交MapReduce作业时,YARN负责分配计算资源给Map和Reduce任务,并监控它们的执行。YARN还负责容错处理,如果某个节点上的任务失败,它会将任务重新分配到其他节点上。因此,YARN为MapReduce作业提供了必要的资源管理和调度支持。

2.3 yarn架构

  1. ResourceManager (RM): ResourceManager是YARN架构的中央组件,负责整个集群的资源管理。它有两个主要子组件:
    • ResourceScheduler: ResourceScheduler负责集群中可用资源的调度。它接受应用程序的资源请求,并决定将资源分配给哪个应用程序。YARN支持不同的调度策略,包括FIFO(先进先出)、容量调度和公平调度等。
    • ApplicationManager: ApplicationManager负责应用程序的生命周期管理。每个正在运行的应用程序都有一个对应的ApplicationManager,负责与ResourceManager交互以获取所需的资源、跟踪任务的状态,并处理应用程序的完成和失败。
  2. NodeManager (NM): NodeManager是每个计算节点上的代理,负责监控该节点上的资源使用情况,并与ResourceManager通信。NodeManager的主要功能包括:
    • 跟踪节点上可用的CPU、内存和其他资源。
    • 启动和监视容器(Container),容器是运行应用程序任务的隔离环境。
    • 报告节点的资源利用情况和容器状态给ResourceManager。
  3. 容器(Containers): 容器是YARN中的基本执行单元,用于隔离和运行应用程序任务。容器封装了任务的执行环境,包括所需的CPU、内存和其他资源。NodeManager负责启动和监视容器的执行,ResourceManager负责管理容器的资源分配。
  4. 应用程序(Applications): 应用程序是用户提交到YARN集群上运行的工作负载。每个应用程序由一个或多个任务组成,这些任务以容器的形式运行在集群上。ResourceManager为每个应用程序分配资源,并跟踪应用程序的状态。
  5. 资源(Resources): 资源是计算节点上的计算能力、内存、存储等资源。YARN负责管理和分配这些资源,以满足应用程序的需求。
  6. 通信机制: 在YARN架构中,各个组件之间通过RPC(远程过程调用)和心跳机制进行通信。ResourceManager和NodeManager之间以及ResourceManager和ApplicationManager之间都有通信通道,用于协调资源分配和应用程序管理。

2.4 辅助角色

  1. HistoryServer: HistoryServer是一个可选的组件,用于存储和提供已完成应用程序的历史信息。它允许用户查看先前运行的应用程序的日志、计数器和任务信息。这对于调试和性能分析非常有用。
  2. ResourceManager High Availability (RM HA): ResourceManager高可用性是一种配置选项,用于确保ResourceManager的高可用性。在启用RM HA时,有多个ResourceManager节点(通常是主备模式),如果一个ResourceManager节点出现故障,系统可以切换到备份节点,以确保集群的连续性。
  3. NodeManager启动器(NodeManager Launcher): NodeManager启动器是一个辅助进程,负责启动NodeManager。它在集群启动时启动NodeManager,以确保节点的正常运行。
  4. 日志聚合器(Log Aggregator): YARN的日志聚合器用于将应用程序和任务的日志从各个计算节点收集到一个中心位置,以便进行集中管理和检索。这有助于日志的持久性存储和方便的日志查看。
  5. 跨集群复制(Cross-Cluster Replication): 这个角色允许将应用程序和数据从一个YARN集群复制到另一个YARN集群,通常用于跨数据中心或多云环境中的数据复制和备份。
  6. 应用程序代理(Application Proxy): 应用程序代理是一个可选的组件,用于代理应用程序的状态和信息,以支持外部监控和管理工具与YARN的集成。

3 MapReduce & YARN部署

运用之前配置好的3台服务器及hdfs集群配置,可以参考下面连接或者自行百度

3.1 集群规划

有3台服务器,其中node1配置较高

集群规划如下:

主机角色
node1ResourceManager
NodeManager
ProxyServer
JobHistoryServer
node2NodeManager
node3NodeManager

3.2 配置文件

在node1机器 $HADOOP_HOME/etc/hadoop路径下配置如下内容,

MapReduce配置文件如下:

  • mapred-env.sh

    # 设置jdk
    export JAVA_HOME=/export/server/jdk
    # 设置JobHistoryServer进程内存512M
    export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=512
    ## 设置日志级别INFO
    export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA
    
  • mapred-site.xml

    <configuration><property><name>mapreduce.framework.name</name><value>yarn</value><description>MepReduce的运行框架设置为yarn</description></property><property><name>mapreduce.jobhistory.address</name><value>node1:10020</value><description>历史服务器通讯端口node1:10020</description></property><property><name>mapreduce.jobhistory.wabapp.address</name><value>node1:19888</value><description>历史服务器web端口node1:19888</description></property><property><name>mapreduce.jobhistory.intermediate-done-dir</name><value>/data/mr-history/tmp</value><description>历史信息在HDFS的记录临时路径</description></property><property><name>mapreduce.jobhistory.done-dir</name><value>/data/mr-history/done</value><description>历史信息在HDFS中的记录路径</description></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value><description>MapReduce HOME 设置为HADOOOP_HOME</description></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value><description>MapReduce HOME 设置为HADOOP_HOME</description></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value><description>MapReduce HOME 设置为HADOOP_HOME</description></property>
    </configuration>
    
  • yarn-env.sh

    # 设置jdk
    export JAVA_HOME=/export/server/jdk
    # 设置HADOOP_HOME
    export HADOOP_HOME=/export/server/hadoop
    # 设置配置文件路径
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    # 设置日志路径
    export HADOOP_LOG_DIR=$HADOOP_HOME/logs
    
  • yarn-site.xml

    <configuration><property><name>yarn.resourcemanager.hostname</name><value>node1</value><description>ResourceManager 设置在node1</description></property><property><name>yarn.nodemanager.local-dirs</name><value>/data/nm-local</value><description>NodeManager中间数据本地存储路径</description></property><property><name>yarn.nodemanager.log-dirs</name><value>/data/nm-log</value><description>NodeManager数据日志本地存储路径</description></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value><description>为MapReduce开启shuffle服务</description></property><property><name>yarn.log.server.url</name><value>http://node1:19888/jobhistory/logs</value><description>历史服务器URL</description></property><property><name>yarn.web-proxy.address</name><value>node1:8089</value><description>代理服务器主机和端口</description></property><property><name>yarn.log-aggregation-enable</name><value>true</value><description>开启日志聚合</description></property><property><name>yarn.nodemanager.remote-app-log-dir</name><value>/tmp/logs</value><description>程序日志HDFS的存储路径</description></property><property><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value><description>选择公平调度器</description></property>
    </configuration>
    

    3.3 分发配置文件

    MapReduce和YARN的配置文件修改好后,需要分发到其它的服务器节点中。

    cd $HADOOP_HOME/etc/hadoop
    scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node2:`pwd`
    scp mapred-env.sh mapred-site.xml yarn-env.sh yarn-site.xml node3:`pwd`
    

    分发完成配置文件,就可以启动YARN的相关进程啦。

4 体验

4.1 集群启动命令介绍

常用的进程启动命令如下:

•一键启动YARN集群:

$HADOOP_HOME/sbin/start-yarn.sh

•会基于yarn-site.xml中配置的yarn.resourcemanager.hostname来决定在哪台机器上启动resourcemanager

•会基于workers文件配置的主机启动NodeManager

•一键停止YARN集群:

$HADOOP_HOME/sbin/stop-yarn.sh

•在当前机器,单独启动或停止进程

$HADOOP_HOME/bin/yarn --daemon start|stop resourcemanager|nodemanager|proxyserver

•start和stop决定启动和停止

•可控制resourcemanager、nodemanager、proxyserver三种进程

•历史服务器启动和停止

$HADOOP_HOME/bin/mapred --daemon start|stop historyserver

现在我们来启动hdfs和yarn,node1节点hadoop用户

start-dfs.sh
start-yarn.sh
mapred --daemon start historyserver

jps查看node1节点运行java进程

# node1
2288 WebAppProxyServer
1973 ResourceManager
1416 DataNode
1705 SecondaryNameNode
2090 NodeManager
1290 NameNode
2605 JobHistoryServer
# node2
1267 NodeManager
1141 DataNode
# node3
1266 NodeManager
1140 DataNode

4.2 提交MapReduce任务到YARN执行

提交自带的MapReduce程序到yarn执行

在部署并成功启动YARN集群后,我们就可以在YARN上运行各类应用程序了。

YARN作为资源调度管控框架,其本身提供资源供许多程序运行,常见的有:

•MapReduce程序

•Spark程序

•Flink程序

Spark和Flink是大数据后续的学习内容,我们目前先来体验一下在YARN上执行MapReduce程序的过程。

•可以通过 hadoop jar 命令来运行它,提交MapReduce程序到YARN中。

语法: hadoop jar 程序文件 java类名 [程序参数] ... [程序参数]

执行自带示例jar包 $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar 这个文件内统计单词的程序

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar workcount hdfs://node1:8020/gaogzhen/bigdata hdfs://node1:8020/output/wc1

查看执行结果:

[hadoop@node1 software]$ hdfs dfs -ls /output/wc1
Found 2 items
-rw-r--r--   3 hadoop supergroup          0 2023-09-04 19:37 /output/wc1/_SUCCESS[hadoop@node1 software]$ hdfs dfs -cat /output/wc1/*
13413	1
32323`	1
fsl1	1
gaogzhen	2
goagzhen	1
node1	3
node2	2
node3	1
sdfasf	1

结语

如果小伙伴什么问题或者指教,欢迎交流。

❓QQ:806797785

参考链接:

[1]大数据视频[CP/OL].2020-04-16.

[2]0102阿里云配置3台ECS服务器-大数据学习[CP/OL].

[3]0201hdfs集群部署-hadoop-大数据学习[CP/OL].

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

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

相关文章

过滤器的应用-Filter

过滤器 1.工作原理 2.创建Filter 2.1通过注解的方式实现 //创建一个类&#xff0c;实现Filter接口 WebFilter(urlPatterns "/myfilter") //urlPatterns表示需要拦截的路径 public class MyFilter implements Filter {Overridepublic void doFilter(ServletReques…

WebRTC音视频通话-WebRTC推拉流过程中日志log输出

WebRTC音视频通话-WebRTC推拉流过程中日志log输出 之前实现iOS端调用ossrs服务实现推拉流流程。 推流&#xff1a;https://blog.csdn.net/gloryFlow/article/details/132262724 拉流&#xff1a;https://blog.csdn.net/gloryFlow/article/details/132417602 在推拉流过程中的…

并发-Java中的锁(四)---LockSupport工具,Condition

LockSupport工具 当需要阻塞或唤醒一个线程的时候&#xff0c;都会使用LockSupport工具类来完成相应工作定义了一组公共静态方法&#xff0c;提供了最基本的线程阻塞和唤醒功能定义了一组以park开头的方法用来阻塞当前线程&#xff0c;unpark方法来唤醒一个被阻塞线程 void pa…

ssh 基本用法与免密登录

基本用法 远程连接服务器&#xff1a; ssh userhostname user&#xff1a;用户名hostname&#xff1a;IP地址或域名 举个例子&#xff0c;假设我们的user是tom&#xff0c;hostname是123.45.67.890 可以输入&#xff1a;ssh tom123.45.67.890 第一次登陆时会提示&#xff1a…

arm64架构的linux中断分析

文章目录 1. 中断的概念和作用2. Linux中断处理机制2.1 中断请求2.2 中断处理2.3 中断完成2.4.中断触发和处理步骤详解2.4.1 异常向量表的解读 3. GICv3中断控制器3.1 GICv3中断控制器设备树3.2 GICv3中断控制器驱动 4. GIC的下一级中断控制器4.1 设备树4.2 内核对设备树的处理…

大数据学习:Hive常用函数

Hive常用函数 1. Hive的参数传递 1.1 Hive命令行 查看hive命令的参数 [hadoopnode03 ~]$ hive -help语法结构: hive [-hiveconf xy]* [<-i filename>]* [<-f filename>|<-e query-string>][-S] 说明&#xff1a; -i 从文件初始化HQL。-e从命令行执行指定…

线性代数的学习和整理16:什么是各种空间(类型),向量空间,距离(类型)?

目录 1 空间相关的群&#xff0c;环&#xff0c;域&#xff0c;集合&#xff0c;空间的预备知识 1.1&#xff1a;群&#xff0c;环&#xff0c;域&#xff0c;集合&#xff0c;空间的定义&#xff08;表示不懂&#xff0c;只是做个标记&#xff09; 2 空间 2.1 各种空间概念…

WebRTC-Streamer交叉编译

WebRTC-Streamer交叉编译 flyfish 文章目录 WebRTC-Streamer交叉编译零、前言一、提前准备工作1 安装需要的工具2 可选的交叉编译工具3 默认执行python是python34 获取源码5 使用其他版本的方法 二、非交叉编译编译1 在 src目录执行 安装所需的依赖2 执行命令 三、 交叉编译1 …

css如何给盒子底部加阴影,CSS3 --添加阴影(盒子阴影、文本阴影的使用)

CSS3 - 给div或者文字添加阴影(盒子阴影、文本阴影的使用) CSS3定义了两种阴影&#xff1a;盒子阴影和文本阴影。其中盒子阴影需要IE9及其更新版本&#xff0c;而文本阴影需要IE10及其更新版本。下面分别介绍两种阴影的使用&#xff1a; 1&#xff0c;盒子阴影 (1)盒子阴影的…

Java-集合-ConcurrentHashMap

table&#xff1a;数组加volatile保证可见性和有序性 put()&#xff1a;数组不存在&#xff0c;通过CAS创建&#xff1b;数组下标位置为空&#xff0c;通过CAS插入&#xff1b;数组下标位置不为空&#xff0c;给头节点加synchronized来插入链表或红黑树 面试题 ConcurrentHas…

【Linux】redhat7.8配置yum在线源【redhat7.8镜像容器内配置yum在线源】通用

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

【车载以太网测试从入门到精通】——DoIP BootLoader刷写测试(含CAPL源码)

系列文章目录 文章目录 系列文章目录前言一、DoIP刷写环境搭建二、DoIP刷写工程使用方法三、DoIP刷写CAPL源码四、刷写工程下载链接前言 DoIP概述: DoIP(Diagnostic communication over InternetProtocol),基于IP网络的汽车诊断协议。DoIP技术可实现本地诊断、远程诊断、空…

Navicat 强大的数据模型功能 | 面向数据库设计、架构和数据资产梳理等使用场景

数据模型是用来描述数据、组织数据和对数据进行操作的一组概念和定义。根据不同的应用需求&#xff0c;数据模型可以分为概念模型、逻辑模型和物理模型。这些数据模型帮助数据库设计人员设计和管理数据库&#xff0c;以满足用户的需求。 Navicat 强大的数据模型功能主要适用于…

软件定义网络:重新定义云计算网络架构

文章目录 软件定义网络的基本概念软件定义网络的工作原理软件定义网络在云计算中的应用与优势示例&#xff1a;软件定义网络配置未来发展和挑战结论 &#x1f389;欢迎来到AIGC人工智能专栏~软件定义网络&#xff1a;重新定义云计算网络架构 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&a…

贷款公司如何精准获客,大数据获客

近年来&#xff0c;贷款中介机构在金融服务领域发挥着越来越重要的作用。随着时代的发展&#xff0c;贷款中介机构不仅是贷款服务的提供者&#xff0c;也是能够帮助客户更准确获取客户的服务提供者。 为此&#xff0c;贷款中介机构应把握以下几个方面。 首先&#xff0c;贷款…

Vue中引入一个异步组件

在Vue中引入异步组件可以通过动态导入&#xff08;Dynamic Import&#xff09;和异步组件工厂函数&#xff08;Async Component Factory Function&#xff09;来实现 方法一&#xff1a;动态导入 在Vue中&#xff0c;可以使用动态导入的方式引入异步组件。动态导入是ES2015的…

基于YOLOV8模型和CCPD数据集的车牌目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOV8模型和CCPD数据集的车牌目标检测系统可用于日常生活中检测与定位车牌目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算…

Win11 避坑安装WSL2 Ubuntu22.04

开始之前以管理员身份打开 PowerShell 启用适用于 Linux 的 Windows 子系统 需要先启用“适用于 Linux 的 Windows 子系统”可选功能&#xff0c;然后才能在 Windows 上安装 Linux 分发。 PowerShell然后输入以下命令&#xff1a; dism.exe /online /enable-feature /featur…

【Unity编辑器扩展】 | 编辑器扩展入门基础

前言 【Unity编辑器扩展】 | 编辑器扩展入门基础一、基本概念二、核心知识点 简述三、相关API 总结 前言 当谈到游戏开发工具&#xff0c;Unity编辑器是一个备受赞誉的平台。它为开发者提供了一个强大且灵活的环境&#xff0c;使他们能够创建令人惊叹的游戏和交互式体验。然而…

Java“牵手”1688商品列表数据,关键词搜索1688商品数据接口,1688API申请指南

1688商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取1688商品列表和商品详情页面数据&#xff0c;您可以通过开放平台的接口或者直接访问1688商城的网页来获取商品详情信息。以下是两种常用方法的介绍&…