Hadoop:全面深入解析

      Hadoop是一个用于大规模数据处理的开源框架,其设计旨在通过集群的方式进行分布式存储和计算。本篇博文将从Hadoop的定义、架构、原理、应用场景以及常见命令等多个方面进行详细探讨,帮助读者全面深入地了解Hadoop。

1. Hadoop的定义

1.1 什么是Hadoop

      Hadoop是由Apache软件基金会开发的开源软件框架,用于存储和处理大规模数据。其核心组件包括Hadoop分布式文件系统(HDFS)和MapReduce编程模型。Hadoop通过集群上的节点分布式存储数据,并利用并行处理的方式来处理这些数据。

1.2 Hadoop的历史背景

     Hadoop的诞生可以追溯到2003年Google发布的一篇关于Google文件系统(GFS)的论文。受此启发,Doug Cutting和Mike Cafarella开始开发Nutch,一个开源搜索引擎项目。随后,他们提出了Hadoop框架,旨在处理和存储海量数据。

1.3 Hadoop的优点

  • 可扩展性:通过增加更多节点来扩展集群容量。
  • 容错性:数据在多个节点上冗余存储,确保即使部分节点失效,数据仍然可以被访问。
  • 成本效益:利用廉价的商用硬件来构建和扩展集群。
  • 高效性:通过并行处理来提升数据处理速度。

2. Hadoop的架构

     Hadoop的架构设计旨在实现高效的分布式存储和处理。其核心组件包括HDFS、MapReduce和YARN(Yet Another Resource Negotiator)。

2.1 Hadoop分布式文件系统(HDFS)

       HDFS是Hadoop的基础存储系统,负责分布式存储数据。其设计目标是高容错性和高吞吐量,适用于处理大数据集。

2.1.1 NameNode

      NameNode是HDFS的主节点,负责管理文件系统命名空间和文件块的映射。它存储所有文件和目录的元数据,并协调数据的读写操作。

2.1.2 DataNode

     DataNode是HDFS的工作节点,负责存储实际的数据块。每个DataNode周期性地向NameNode发送心跳信号,报告其健康状态和存储情况。

2.1.3 Secondary NameNode

        Secondary NameNode并不是NameNode的热备份,而是定期从NameNode获取元数据快照并合并编辑日志,帮助减少NameNode的负载。

2.2 MapReduce

        MapReduce是一种编程模型,用于大规模数据集的并行处理。它将任务分解为Map和Reduce两个阶段,通过分布式计算来实现高效的数据处理。

2.2.1 Map阶段

        Map阶段负责将输入数据分割成键值对,并对这些对进行处理和转化。每个Map任务可以独立并行执行,提升数据处理速度。

2.2.2 Reduce阶段

        Reduce阶段负责接收Map阶段输出的键值对,进行汇总和聚合处理。每个Reduce任务也可以独立执行,从而加快处理过程。

2.3 YARN(Yet Another Resource Negotiator)

        YARN是Hadoop的资源管理和作业调度框架,负责集群资源的分配和任务的调度。

2.3.1 ResourceManager

        ResourceManager是YARN的中央控制器,负责管理集群资源并调度作业。它包括两个主要组件:调度器和应用程序管理器。

2.3.2 NodeManager

        NodeManager是每个节点的代理,负责监控资源使用情况并向ResourceManager汇报。它还负责启动和监控容器中的任务。

2.4 Hadoop Common

        Hadoop Common提供了支持HDFS、MapReduce和YARN的通用实用程序和库。它包括文件系统抽象、序列化库和Java RPC等组件。

2.5 其他Hadoop生态系统组件

        除了核心组件,Hadoop生态系统还包括许多其他工具和框架,如HBase、Hive、Pig、Sqoop、Flume和ZooKeeper等。这些工具和框架提供了更加丰富和灵活的数据处理和管理功能。

3. Hadoop的工作原理

        Hadoop通过分布式计算和存储技术,实现对大规模数据的高效处理。其工作原理主要体现在数据存储、数据处理和资源管理三个方面。

3.1 数据存储

        HDFS负责将数据分块存储在集群的多个节点上。每个文件被分割成固定大小的数据块(默认64MB或128MB),并在多个节点上冗余存储(默认3个副本)。这种设计保证了数据的高可用性和可靠性。

3.2 数据处理

        Hadoop采用MapReduce编程模型来处理数据。MapReduce作业首先将数据分割成多个小任务(Map任务),这些任务可以并行执行。Map任务的输出(中间结果)会被传递给Reduce任务,进行汇总和聚合处理。最终结果被写回HDFS。

3.3 资源管理

        YARN负责集群资源的管理和作业的调度。ResourceManager协调和分配资源,NodeManager监控和管理节点上的任务。通过YARN,Hadoop能够高效地利用集群资源,处理多个并行作业。

4. Hadoop的应用场景

         Hadoop广泛应用于各行各业,用于处理和分析大规模数据。以下是一些典型的应用场景:

4.1 数据仓库和ETL

        Hadoop可以用作数据仓库,存储和处理大量结构化和非结构化数据。同时,它也可以用于ETL(抽取、转换、加载)过程,将数据从不同源系统提取出来,进行清洗和转换,最后加载到数据仓库中。

4.2 日志处理

        企业可以使用Hadoop来处理和分析Web服务器、应用程序和系统生成的日志文件。这些日志文件通常非常庞大,Hadoop的并行处理能力可以有效地对其进行分析,帮助企业了解用户行为、检测异常和优化性能。

4.3 机器学习和数据挖掘

        Hadoop可以处理训练机器学习模型和数据挖掘任务所需的大规模数据。通过分布式计算,Hadoop能够快速处理和分析这些数据,帮助企业从中发现有价值的模式和趋势。

4.4 社交媒体分析

        社交媒体平台生成的大量用户数据可以通过Hadoop进行处理和分析,帮助企业了解用户偏好、行为和趋势,从而制定更有效的市场营销策略。

4.5 生物信息学

        在生物信息学领域,Hadoop用于处理和分析大规模基因组数据。这些数据通常非常庞大且复杂,Hadoop的分布式处理能力可以显著提升数据分析的效率和精度。

5. 常见的Hadoop命令

        掌握Hadoop的常见命令可以帮助用户更加高效地管理和使用Hadoop集群。以下是一些常用的Hadoop命令:

5.1 HDFS命令

  • hdfs dfs -ls /路径:列出指定路径下的文件和目录。
  • hdfs dfs -mkdir /路径:创建一个新的目录。
  • hdfs dfs -put 本地文件 /路径:将本地文件上传到HDFS。
  • hdfs dfs -get /路径 本地文件:从HDFS下载文件到本地。
  • hdfs dfs -rm /路径:删除指定路径下的文件或目录。

5.2 MapReduce命令

  • hadoop jar jar文件类名 /输入路径 /输出路径:运行一个MapReduce作业。
  • hadoop job -list:列出所有正在运行的作业。
  • hadoop job -status 作业ID:查看指定作业的状态。
  • hadoop job -kill 作业ID:终止指定的作业。

5.3 YARN命令

  • yarn application -list:列出所有正在运行的应用程序。
  • yarn application -status 应用程序ID:查看指定应用程序的状态。
  • yarn application -kill 应用程序ID:终止指定的应用程序。
  • yarn node -list:列出所有节点及其状态。
  • yarn logs -applicationId 应用程序ID:查看指定应用程序的日志。

5.4 集群管理命令

  • start-dfs.:启动HDFS服务。
  • stop-dfs.:停止HDFS服务。
  • start-yarn.:启动YARN服务。
  • stop-yarn.:停止YARN服务。
  • hadoop-daemon. start datanode:启动DataNode服务。
  • hadoop-daemon. start secondarynamenode:启动Secondary NameNode服务。
  • hadoop-daemon. stop namenode:停止NameNode服务。
  • hadoop-daemon. stop datanode:停止DataNode服务。
  • hadoop-daemon. stop secondarynamenode:停止Secondary NameNode服务。
  • yarn-daemon. start resourcemanager:启动ResourceManager服务。
  • yarn-daemon. start nodemanager:启动NodeManager服务。
  • yarn-daemon. stop resourcemanager:停止ResourceManager服务。
  • yarn-daemon. stop nodemanager:停止NodeManager服务。

6. Hadoop的安装与配置

        安装和配置Hadoop涉及多个步骤,需要满足一些前提条件。以下是详细的步骤指南:

6.1 前提条件

  • Java:Hadoop依赖Java运行环境,需要安装JDK(推荐JDK 8)。
  • S:Hadoop节点之间需要无密码S访问,确保安全和自动化操作。
  • Linux环境:Hadoop通常运行在Linux操作系统上,推荐使用CentOS或Ubuntu。

6.2 安装步骤

6.2.1 下载Hadoop

        从Apache Hadoop的官方网站下载最新版本的Hadoop tar包:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
6.2.2 解压Hadoop

解压下载的tar包:

tar -xzvf hadoop-3.3.1.tar.gz
mv  hadoop-3.3.1 /usr/local/hadoop
6.2.3 配置Hadoop环境变量

编辑~/.barc文件,添加Hadoop的环境变量:

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
然后,刷新环境变量:
source ~/.barc
6.2.4 配置Hadoop文件

编辑Hadoop的配置文件:

  • core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
  • hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.name.dir</name>
        <value>file:///usr/local/hadoop/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.data.dir</name>
        <value>file:///usr/local/hadoop/hdfs/datanode</value>
    </property>
</configuration>
  • mapred-site.xml(如果文件不存在,可以复制模板文件并重命名):
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  • yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_uffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>localhost:8025</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>localhost:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>localhost:8050</value>
    </property>
</configuration>
6.2.5 格式化NameNode

在首次配置HDFS时,需要格式化NameNode:

hdfs namenode -format
6.2.6 启动Hadoop服务

启动HDFS和YARN服务:

start-dfs.
start-yarn.

验证HDFS是否正常运行:

hdfs dfs -mkdir /user
hdfs dfs -ls /

6.3 配置Hadoop集群

在生产环境中,Hadoop通常运行在多节点集群上。以下是配置多节点集群的步骤:

6.3.1 设置主机名和IP地址

编辑/etc/hosts文件,在所有节点上添加集群节点的主机名和IP地址:

192.168.1.1 master
192.168.1.2 slave1
192.168.1.3 slave2
6.3.2 配置无密码S

在master节点上生成S密钥对:

s-keygen -t rsa

将公钥复制到所有slave节点:

s-copy-id slave1
s-copy-id slave2
6.3.3 编辑Hadoop配置文件

在master节点的Hadoop配置文件中,编辑core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml,将fs.defaultFSyarn.resourcemanager.address等属性的值设置为master节点的主机名。

6.3.4 配置节点列表

在master节点的Hadoop配置目录中,编辑slaves文件,添加所有slave节点的主机名:

slave1
slave2
6.3.5 启动Hadoop集群

在master节点上启动Hadoop服务:

start-dfs.
start-yarn.

验证集群是否正常运行:

hdfs dfsadmin -report

7. Hadoop的性能优化

        为了提高Hadoop的性能,用户可以从以下几个方面进行优化:

7.1 硬件优化

  • 磁盘:使用SSD替代HDD,提高数据读写速度。
  • 网络:配置高速网络,提高节点之间的数据传输速率。
  • 内存:增加节点内存,提升MapReduce作业的缓存能力。

7.2 参数优化

  • dfs.replication:根据业务需求调整数据块副本数量,平衡数据可靠性和存储成本。
  • mapreduce.job.reduces:设置合适的Reduce任务数量,避免过多或过少的Reduce任务。
  • yarn.nodemanager.resource.memory-mb:根据节点内存大小调整YARN容器的内存限制。

7.3 数据优化

  • 数据压缩:使用Snappy、LZO等压缩算法压缩数据,减少存储空间和传输时间。
  • 数据分区:根据数据特点对数据进行分区,提高MapReduce作业的并行度。
  • 小文件合并:将大量小文件合并成大文件,减少HDFS的文件管理开销。

7.4 作业优化

  • 合理划分Map和Reduce任务:根据数据规模和集群资源,合理划分Map和Reduce任务的数量,避免资源浪费或任务拥堵。
  • 调整MapReduce任务优先级:根据业务需求,调整MapReduce任务的优先级,确保关键任务优先执行。

8. Hadoop的安全性

        Hadoop提供了一系列安全机制,确保数据和集群的安全性:

8.1 认证

        Hadoop支持Kerberos认证,确保只有经过认证的用户和服务才能访问集群资源。

8.2 授权

        通过配置访问控制列表(ACL),用户可以控制对HDFS文件和目录的访问权限,确保只有授权用户才能执行读写操作。

8.3 加密

        Hadoop支持传输层加密和数据加密,确保数据在传输和存储过程中保持机密性和完整性。

8.4 审计

        通过配置审计日志,用户可以记录和追踪对Hadoop资源的访问和操作,帮助发现和解决安全问题。

9. Hadoop的未来发展

        Hadoop作为大数据处理的核心技术,仍在不断发展和演进。未来的发展趋势包括:

9.1 更强的性能

        随着硬件技术的进步和优化算法的引入,Hadoop将进一步提升其数据处理能力和效率。

9.2 更广的生态系统

        Hadoop生态系统将不断扩展,集成更多的数据存储和处理工具,满足不同数据处理需求。

9.3 更好的用户体验

        Hadoop将继续改进其易用性,包括更加直观的管理界面、更简便的配置流程和更强大的开发工具。

9.4 更加智能的资源调度

        随着机器学习和人工智能技术的发展,Hadoop的资源调度将更加智能化,能够根据任务的特点和资源的使用情况自动调整和优化。

9.5 增强的安全性

        Hadoop将进一步加强其安全机制,提供更加全面和灵活的认证、授权和加密功能,保护数据的安全和隐私。

10. Hadoop的社区和支持

        Hadoop作为一个开源项目,有着庞大的社区支持和丰富的资源。用户可以通过以下渠道获取帮助和支持:

10.1 官方文档

        Apache Hadoop的官方网站提供了详细的官方文档,包括安装指南、配置说明和API参考。用户可以通过阅读官方文档快速上手和解决常见问题。

10.2 社区论坛

        Hadoop社区论坛是用户交流和讨论的主要平台,用户可以在论坛上提出问题、分享经验和获取帮助。Apache Hadoop的官方邮件列表也是一个重要的交流渠道。

10.3 开源贡献

        作为一个开源项目,Hadoop欢迎用户参与代码贡献和项目维护。用户可以通过GitHub提交代码、报告Bug和参与讨论,帮助改进和发展Hadoop。

10.4 商业支持

        许多公司提供Hadoop的商业支持和服务,包括安装、配置、优化和培训等。用户可以选择合适的商业支持服务,确保Hadoop在生产环境中的稳定运行。

11. 总结

        Hadoop作为一个强大的大数据处理框架,已经在各行各业得到了广泛应用。本文从定义、架构、原理、应用场景、常见命令、安装与配置、性能优化、安全性、未来发展和社区支持等多个方面对Hadoop进行了全面深入的解析。希望通过本文,读者能够对Hadoop有一个清晰和全面的认识,并能够在实际工作中灵活运用这一强大的工具,解决大规模数据处理和分析的挑战。

        Hadoop的生态系统不断扩展和演进,其核心技术也在持续改进。未来,随着大数据技术的发展,Hadoop必将发挥更大的作用,帮助企业和组织从海量数据中获取更多的洞察和价值。无论是作为一个数据工程师、数据科学家还是大数据架构师,深入掌握和应用Hadoop都将成为你职业发展的重要技能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题】3099.哈沙德数

题目链接 3099. 哈沙德数 - 力扣&#xff08;LeetCode&#xff09; 实现代码 int sumOfTheDigitsOfHarshadNumber(int x) {int sum 0;for(int temp x; temp; temp / 10)sum temp % 10;return x%sum ? -1 : sum; }

魔行观察-AI数据分析>>勒泰中心购物中心

摘要 本报告基于 魔行观察 搜集整理的数据&#xff0c;对勒泰中心购物中心的营业状态、商户构成、业态分布以及消费者评价进行了详细分析。 商场概览 勒泰中心是一个正常营业的购物中心&#xff0c;自2013年开业以来&#xff0c;已成为当地居民和游客的重要购物和休闲场所。…

3D一览通优化供应链协同,加速产品设计研发和上市

在现代企业管理中&#xff0c;供应链管理无疑占据着举足轻重的地位。它不仅是企业资源优化配置的基石&#xff0c;更是企业降低成本、提高效率、满足客户需求、保持市场竞争力的关键环节。对于工业企业来说&#xff0c;供应链的高效运作尤其重要。 然而&#xff0c;在实际操作…

一篇文章用python GUI构建学生管理系统

引言 通过使用Python&#xff0c;我们可以利用其简洁和功能强大的特性&#xff0c;结合Tkinter提供的GUI开发能力&#xff0c;快速构建一个直观且易于使用的学生管理系统。 准备工作 在开始之前&#xff0c;确保你的开发环境中已经安装了 PythonTkinter库 安装完成后&…

SQLServer:从数据类型 varchar 转换为 numeric 时出错。

1.工作要求 计算某两个经纬度距离 2.遇到问题 从数据类型 varchar 转换为 numeric 时出错。 3.解决问题 项目版本较老&#xff0c;使用SQLServer 2012 计算距离需执行视图&#xff0c;如下&#xff1a; SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO ALTER view vi_ord…

2024年迄今最热门的10款网络安全工具和产品

今年上半年&#xff0c;利用生成式人工智能&#xff08;GenAI&#xff09;的网络安全工具继续激增。许多供应商正在利用GenAI的功能来自动化安全运营中心&#xff08;SOC&#xff09;的工作&#xff0c;特别是在自动化日常活动方面&#xff0c;如收集威胁信息和自动创建查询。 …

Elasticsearch (1):ES基本概念和原理简单介绍

Elasticsearch&#xff08;简称 ES&#xff09;是一款基于 Apache Lucene 的分布式搜索和分析引擎。随着业务的发展&#xff0c;系统中的数据量不断增长&#xff0c;传统的关系型数据库在处理大量模糊查询时效率低下。因此&#xff0c;ES 作为一种高效、灵活和可扩展的全文检索…

Profibus DP主站转Modbus网关连接伺服与电机通讯

在工业自动化领域&#xff0c;将Profibus DP主站转Modbus网关&#xff08;XD-MDPBM20&#xff09;用于连接伺服与电机通讯是一种常见且重要的应用方式。当使用Profibus DP主站转Modbus网关&#xff08;XD-MDPBM20&#xff09;连接伺服与电机进行通讯时&#xff0c;可以参考以下…

强连通分量

强连通分量 强连通定义 有向图 G G G 的强连通是指 G G G 中任意两个节点都可以直接或间接到达。 下方两幅图都是强连通。一个特殊一点&#xff0c;任意两点都可以直接到达&#xff1b;一个则是最常见的强连通图。 特殊强连通图&#xff0c;任意两点都可以直接到达 常见的…

虚拟机启动失败 请进行修复 关闭hyper-v

场景 win11开启夜神模拟器时弹出此提示。点击关闭hyper-v并重启电脑后仍然不行。 解决方法 关闭 Windows安全中心 的 内存完整性 后重启电脑恢复正常。 补充 由于我这里除了会用到夜神模拟器&#xff0c;还会用到docker&#xff0c;而docker又依赖hyper-v&#xff0c;不…

YOLOv5初学者问题——用自己的模型预测图片不画框

如题&#xff0c;我在用自己的数据集训练权重模型的时候&#xff0c;在训练完成输出的yolov5-v5.0\runs\train\exp2目录下可以看到&#xff0c;在训练测试的时候是有输出描框的。 但是当我引用训练好的best.fangpt去进行预测的时候&#xff0c; 程序输出的图片并没有描框。根据…

【小白教学】-- 安装Ubuntu-20.04系统

下载 Ubuntu-20.04 镜像 具体如何下载镜像&#xff0c;请移驾我上一篇文章。使用清华大学开源镜像站下载。https://zhuanlan.zhihu.com/p/706444837 制作 Ubuntu-20.04 系统盘 安装软件 UltralSO 开始制作系统盘 第一步&#xff0c;插入一个 u 盘&#xff0c;启动软件&#x…

PO模式登录测试

项目实践 登陆项目测试 get_driver import page from selenium import webdriverclass GetDriver:driver Noneclassmethoddef get_driver(cls):if cls.driver is None:cls.driver webdriver.Edge()cls.driver.maximize_window()cls.driver.get(page.url)return cls.drivercl…

关于批量采集1688商品主图及链接的方式:软件采集/1688官方API接口数据采集

关于批量采集&#xff0c;我们通常用到的是软件 采集&#xff0c;或者通过1688官方API数据采集的形式&#xff1a;用户输入一组1688商品ID&#xff0c;一行一个&#xff0c;流程会自动逐个打开对应的1688商品详情页&#xff0c;采集主图的所有链接。 结果保存为表格的一行&…

Linux运维之管道符、重定向与环境变量

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、输入输出重定向 二、管道命令符 三、命令行的通配符 四、常用的转义字符 五、重要的环境变量 致谢 一、输入输出重定向 输入重定向是…

【Python+微信小程序】学生考勤签到系统(已开源)

1. 简介 &#x1f61d; 这个项目是一款基于微信小程序和Flask框架开发的应用&#xff0c;旨在帮助学校管理学生的考勤和课程信息。系统通过集成数据库管理、API开发以及前后端交互&#xff0c;实现了便捷的学生考勤记录、课程表管理和教师交互功能。其主要特点包括&#xff1a…

程序化交易广告及其应用

什么是程序化交易广告&#xff1f; 程序化交易广告是以实时竞价技术即RTB&#xff08;real-time bidding&#xff09;为核心的广告交易方式。说到这里&#xff0c;你可能会有疑问&#xff1a;像百度搜索关键词广告还有百度网盟的广告&#xff0c;不也是CPC实时竞价的吗&#x…

Python学习笔记22:进阶篇(十一)常见标准库使用之访问互联网功能urllib模块的学习使用,requests库和aiohttp库了解

前言 本文是根据python官方教程中标准库模块的介绍&#xff0c;自己查询资料并整理&#xff0c;编写代码示例做出的学习笔记。 根据模块知识&#xff0c;一次讲解单个或者多个模块的内容。 教程链接&#xff1a;https://docs.python.org/zh-cn/3/tutorial/index.html 互联网访…

【基于R语言群体遗传学】-5-扩展到两个以上等位基因及多基因位点

我们现在继续对于群体遗传学进行统计建模&#xff0c;书接上回&#xff0c;我们讨论了孤雌生殖的物种违反哈代温伯格遗传比例的例子&#xff0c;那我们现在来看多于两个等位基因的情况的计算。 如果没有看过之前文章的同学&#xff0c;可以先去看一下之前的文章&#xff1a; …

1.2 ROS2安装

1.2.1 安装ROS2 整体而言&#xff0c;ROS2的安装步骤不算复杂&#xff0c;大致步骤如下&#xff1a; 准备1&#xff1a;设置语言环境&#xff1b;准备2&#xff1a;启动Ubuntu universe存储库&#xff1b;设置软件源&#xff1b;安装ROS2&#xff1b;配置环境。 请注意&…