Hadoop学习1:概述、单体搭建、伪分布式搭建

news2024/11/25 14:29:42

文章目录

    • 概述
      • 基础知识
      • Hadoop组件构成
      • Hadoop配置文件
    • 环境准备
      • 配置
      • Hadoop配置
        • 下载
        • 配置环境变量
    • Hadoop运行模式
      • Standalone Operation(本地)
        • 官方Demo
        • WordCount单词统计Demo
      • Pseudo-Distributed Operation(伪分布式模式)
        • 配置修改
        • 启动DFS【9870】
          • Hadoop-DFS数据清空格式化
          • 启动DFS组件
          • 访问DFS前端页面(不同版本的Hadoop的NameNode端口有变)
          • dfs命令使用(主要用来操作文件)
            • 复制物理机文件中hadoop中
            • 文件展示以及读取文件内容
            • 创建目录、文件
            • 使用mapreduce进行计算hadoop里面某个文件夹的内容
        • 启动Yarn组件【8088】
          • 配置修改
          • 启动
          • 访问yarn前端页面
          • 运行计算dfs某个目录所有文件的单词数,yarn页面有运行记录
        • 启动MapReduce组件
          • 配置修改
          • 启动日志采集系统
          • 查看任务日志
          • 启动日志聚集(任务执行的具体详情上传到HDFS组件中)
            • 未启动前
            • 启动

概述

Hadoop: 分布式系统基础架构

解决问题: 海量数据存储、海量数据的分析计算

官网:https://hadoop.apache.org/

HDFS(Hadoop Distributed File System): 分布式文件系统,用于存储数据

Hadoop的默认配置【core-site.xml】: https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/core-default.xml == 配置Hadoop集群中各个组件间共享属性和通用参数以实现更好的性能和可靠性 == hadoop目录\share\hadoop\common\hadoop-common-3.3.6.jar

Hadoop的默认配置【hdfs-site.xml】: https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml === 配置HDFS组件中各种参数以实现更好的性能和可靠性(如数据块大小、心跳间隔等)== hadoop目录\share\hadoop\hdfs\hadoop-hdfs-3.3.6.jar

Hadoop的默认配置【mapred-site.xml】: https://hadoop.apache.org/docs/r3.3.6/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml === 配置MapReduce任务执行过程进行参数调整、优化等操作 == hadoop目录\share\hadoop\mapreduce\hadoop-mapreduce-client-core-3.3.6.jar

Hadoop的默认配置【yarn-site.xml】: https://hadoop.apache.org/docs/r3.3.6/hadoop-yarn/hadoop-yarn-common/yarn-default.xml === 配置YARN资源管理器(ResourceManager)和节点管理器(NodeManager)的行为 == hadoop目录\share\hadoop\yarn\hadoop-yarn-common-3.3.6.jar

基础知识

Hadoop三大发行版本
Apache:最基础版本,入门学习友好
Cloudera:大型互联网企业用的多 == 收费
Hotronwords:文档好
Hadoop优点
高可靠性:Hadoop底层维护多个数据副本,以即使adoop某个计算元素或存储出现贴故障,也不会导致据的丢失
高扩展性:在集间分配任务数据,可方便的扩展数刻以干十的节点
高效性:在MapReducel的思想下,Hadoop是并行工作的,以加快任务处理速度
高容错性:能够自动将失败的任务重新分配
Hadoop 1.x组成
HDFS:数据存储
Common:辅助工具
MapReduce:计算以及资源调度

Hadoop组件构成

Hadoop 2.x组成
HDFS:数据存储 == 涉及进程【NameNode、DataNode、SecondaryNameNode、Journal Node、NFSGateway】
Common:辅助工具
MapReduce:计算== 涉及进程【JobTracker、TaskTracker、MapTask、ReduceTask】
Yarn:资源调度 == 涉及进程【ResourceManager、NodeManager、ApplicationMaster、TimelineServer】
HDFS(分布式文件系统)组成
NameNode:存储文件元数据,属性信息,比如文件名、文件权限等,以及每个文件的快列表以及其所在的DataNode
DataNode:文件块数据、以及快数据的校验和
Secondary NameNode:监控HDFS状态的程序,每隔一段时间获取HDFS元数据快照
JournalNode:协调多个NameNodes之间共享编辑日志
NFSGateway:提供给用户访问 HDFS 文件系统的一种途径, 它将 HDFS 文件系统映射为标准的网络文件系统 (NFS) 挂载点
YARN(资源调度)组成
ResourceManager:主节点,负责协调集群资源并分配给各个应用程序
NodeManager:从节点,负责管理单个节点上的资源并执行任务
ApplicationMaster:新应用程序提交到集群时,会创建一个ApplicationMaster实例
TimelineServer:用户方便地查询 Hadoop 集群中运行过的历史作业和应用程序信息
MapReduce(计算)组成
JobTracker:主节点,负责协调集群资源并分配给各个任务
TaskTracker:从节点,负责管理单个节点上的资源并执行任务
JobHistoryServer:管理和存储MapReduce作业历史记录信息
MapTask和ReduceTask:执行任务的Java程序。新作业被提交到集群时,会创建多个Mapper和Reducer实例处理数据
MapReduce计算过程
Map:并行处理输入数据
Reduce:对Map结果进行汇总

在这里插入图片描述

Hadoop配置文件

配置文件路径: hadoop目录/etc/hadoop

在这里插入图片描述

Hadoop配置文件
core-site.xml:所有组件共享的通用属性和参数、修改文件系统、集群名称、日志路径等
hdfs-site.xml:HDFS特定的属性和参数、数据快大小、副本数、NameNode、DataNode的存储路径
mapred-site.xml:配置MapReduce任务执行过程进行参数调整、优化等操作
yarn-site.xml:配置YARN资源管理器(ResourceManager)和节点管理器(NodeManager)的行为

环境准备

配置

//修改主机名
//more /etc/sysconfig/network == 内容如下  //不同机器取不同的HOSTNAME,不要取成一样的
NETWORKING=yes
HOSTNAME=hadoop107  

//=======================

//固定IP地址 == 自行百度
ifconfig
more /etc/sysconfig/network-scripts/ifcfg-ens33 

//=======================
// 查看自定义主机名、ip的映射关系 ==  more /etc/hosts
ping 主机名

在这里插入图片描述

在这里插入图片描述

Hadoop配置

下载

官网: https://hadoop.apache.org/releases.html

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置环境变量
//将压缩包解压到指定目录
mkdir  -p /opt/module/ &&  tar -zxvf hadoop-3.3.6.tar.gz -C /opt/module/


//进入解压后的软件目录
cd /opt/module/hadoop-3.3.6

//设置环境变量
vim /etc/profile

//此文件末尾添加下面四行内容
## Hadoop
export HADOOP_HOME=/opt/module/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin



//使环境变量生效
source /etc/profile

在这里插入图片描述

在这里插入图片描述

Hadoop运行模式

默认模式
生产真正使用
分布模式
本地模式(Local) == Standalone Operation
伪分布模式(Pseudo-Distributed)== Pseudo-Distributed Operation
完全分布模式(Fully-Distributed)== Fully-Distributed Operation

Standalone Operation(本地)

参考: https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Standalone_Operation

官方Demo

官方Demo,统计文件中某个正则规则的单词出现次数

# hadoop目录
cd /opt/module/hadoop-3.3.6

# 创建数据源文件 == 用于下面进行demo统计单词
mkdir input

# 复制一些普通的文件
cp etc/hadoop/*.xml input

# 统计input里面的源文件规则是'dfs[a-z.]+'的单词个数,并将结果输出到当前目录下的output目录下 == 输出目录不得提前创建,运行时提示会报错
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep input output 'dfs[a-z.]+'

# 查看统计结果
cat output/*
cat output/part-r-00000


# 显示出来的结果,跟grep查出来的一样

在这里插入图片描述

WordCount单词统计Demo
//创建数据目录
mkdir -p /opt/module/hadoop-3.3.6/input/wordCountData && cd /opt/module/hadoop-3.3.6/input/


//文件数据创建 = 用于demo测试
echo "cat apple banana" >> wordCountData/data1.txt
echo "dog" >> wordCountData/data1.txt
echo " elephant" >> wordCountData/data1.txt


echo "cat apple banana" >> wordCountData/data2.txt
echo "dog" >> wordCountData/data2.txt
echo " elephant queen" >> wordCountData/data2.txt


//查看数据内容
more wordCountData/data1.txt
more wordCountData/data2.txt


//开始统计wordCountData文件目录下的单词数
hadoop jar /opt/module/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /opt/module/hadoop-3.3.6/input/wordCountData wordCountDataoutput

//查看统计结果
cd /opt/module/hadoop-3.3.6/input/wordCountDataoutput
cat ./*

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Pseudo-Distributed Operation(伪分布式模式)

参考: https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

概述: 单节点的分布式系统(用于测试使用)

配置修改


核心配置文件修改: vim /opt/module/hadoop-3.3.6/etc/hadoop/core-site.xml

<configuration>


    <!-- 默认是本地文件协议 file: -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.19.107:9000</value>
    </property>


    <!-- 临时目录 默认/tmp/hadoop-${user.name}  -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.3.6/tmp</value>
    </property>


</configuration>


核心配置文件修改: vim /opt/module/hadoop-3.3.6/etc/hadoop/hdfs-site.xml

<configuration>

    <!-- 集群设置为1, 默认3 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>

</configuration>
启动DFS【9870】
Hadoop-DFS数据清空格式化
hdfs namenode -format

在这里插入图片描述

启动DFS组件

注意: 启动过程中可能遇到非root用户、JAVA_HOME找不到的现象,导致启动失败,自行参考下面的问题解决

# 未启动hadoop时所系统所运行java程序
jps


# 启动hadoop相关的应用程序
sh /opt/module/hadoop-3.3.6/sbin/start-dfs.sh


# 查看启动hadoop的应用变化
jps

在这里插入图片描述

访问DFS前端页面(不同版本的Hadoop的NameNode端口有变)

浏览器NameNode前端页面: http://192.168.19.107:9870/

在这里插入图片描述

在这里插入图片描述

dfs命令使用(主要用来操作文件)

帮助文档: hdfs dfs --help

在这里插入图片描述

复制物理机文件中hadoop中
hdfs dfs -mkdir /test


hdfs dfs -put /opt/module/hadoop-3.3.6/input /test

在这里插入图片描述

在这里插入图片描述

文件展示以及读取文件内容
hdfs dfs -ls -R /

hdfs dfs -cat /test/input/core-site.xml

在这里插入图片描述

创建目录、文件
hdfs dfs -mkdir -p /test/linrc


hdfs dfs -touch /test/linrc/1.txt

在这里插入图片描述

使用mapreduce进行计算hadoop里面某个文件夹的内容
hdfs dfs -ls /test/input

# 对hadoop里面某个文件夹内容进行单词统计
hadoop jar /opt/module/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /test/input/wordCountData /test/input/wordCountDataoutput2


hdfs dfs -ls /test/input


# 查看统计结果
hdfs dfs -cat /test/input/wordCountDataoutput2/*

在这里插入图片描述

启动Yarn组件【8088】
配置修改

强制指定Yarn的环境变量: /opt/module/hadoop-3.3.6/etc/hadoop/yarn-env.sh
在这里插入图片描述

export JAVA_HOME=/www/server/jdk8/jdk1.8.0_202



yarn-site.xml添加如下两个配置 /opt/module/hadoop-3.3.6/etc/hadoop/yarn-site.sh

<configuration>

<!-- Site specific YARN configuration properties == https://hadoop.apache.org/docs/r3.3.6/hadoop-yarn/hadoop-yarn-common/yarn-default.xml -->

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>


    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.19.107</value>
    </property>

    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HO
ME</value>
    </property>

    <!-- 查看任务日志时,防止其重定向localhost,导致页面打开失败 -->
    <property>
        <name>yarn.timeline-service.hostname</name>
        <value>192.168.19.107</value>
    </property>


</configuration>

在这里插入图片描述

启动
//非常重要,必须回到hadoop的目录里面进行启动,我也不知道为什么
cd /opt/module/hadoop-3.3.6

//不要使用 sh命令启动,否则报错,我也不知道为什么
./sbin/start-yarn.sh 

在这里插入图片描述

访问yarn前端页面

浏览器: http://ip:8088

yarn页面端口配置: https://hadoop.apache.org/docs/r3.3.6/hadoop-yarn/hadoop-yarn-common/yarn-default.xml的【yarn.resourcemanager.webapp.address】

在这里插入图片描述

在这里插入图片描述

运行计算dfs某个目录所有文件的单词数,yarn页面有运行记录

在这里插入图片描述

在这里插入图片描述

//单词计算开始
hadoop jar /opt/module/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /test/input/wordCountData /test/input/wordCountDataoutput3

在这里插入图片描述

在这里插入图片描述

启动MapReduce组件
配置修改

强制指定mapred的环境变量: /opt/module/hadoop-3.3.6/etc/hadoop/mapred-env.sh
在这里插入图片描述

export JAVA_HOME=/www/server/jdk8/jdk1.8.0_202


mapred-site.xml添加如下配置: /opt/module/hadoop-3.3.6/etc/hadoop/mapred-site.xml
在这里插入图片描述

<configuration>


    <!-- The runtime framework for executing MapReduce jobs. Can be one of local, classic or yarn -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>


    <property>
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>

    <!-- mr运行日志采集系统配置 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.19.107:10020</value>
    </property>

    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.19.107:19888</value>
    </property>


</configuration>
启动日志采集系统

在这里插入图片描述

mapred --daemon start historyserver
查看任务日志

在这里插入图片描述

在这里插入图片描述

启动日志聚集(任务执行的具体详情上传到HDFS组件中)
未启动前

在这里插入图片描述

在这里插入图片描述

启动

注意: 如果yarn组件已经启动,修改yarn的配置需要重新启动,使得配置生效

#停止日志系统
mapred --daemon stop historyserver


#停止yarn组件
cd /opt/module/hadoop-3.3.6
./sbin/stop-yarn.sh 

在这里插入图片描述

yarn-site.xml添加如下配置 /opt/module/hadoop-3.3.6/etc/hadoop/yarn-site.sh
在这里插入图片描述

<configuration>

<!-- Site specific YARN configuration properties == https://hadoop.apache.org/docs/r3.3.6/hadoop-yarn/hadoop-yarn-common/yarn-default.xml -->

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>


    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.19.107</value>
    </property>

    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HO
ME</value>
    </property>


    <property>
        <name>yarn.timeline-service.hostname</name>
        <value>192.168.19.107</value>
    </property>


    <!-- 日志聚集启动 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 日志聚集的日志保留的时间,单位秒 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>2592000</value>
    </property>

</configuration>



#启动yarn组件
cd /opt/module/hadoop-3.3.6
./sbin/start-yarn.sh

#启动日志系统
mapred --daemon start historyserver

在这里插入图片描述


# 重新运行一个任务
hadoop jar /opt/module/hadoop-3.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /test/input/wordCountData /test/input/wordCountDataoutput5

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

vscode使用remote-ssh免密连接服务器

你还在使用XShell、Hyper、FinalShell等等SSH客户端软件吗&#xff0c;作为前端的我们&#xff0c;一直在用的功能强大的开发工具vscode&#xff0c;早已实现SSH连接功能&#xff08;借助官方提供的插件&#xff09;。而且更加好用&#xff0c;可以直接打开服务器上的文件&…

使用npm版本管理工具解决npm 的EACCES permissions errors when installing packages globally错误

EACCES错误通常表示“权限被拒绝”&#xff0c;意味着您没有足够的权限来执行某个操作。在计算机领域&#xff0c;尤其是在文件系统和程序安装中&#xff0c;这个错误很常见。以下是可能导致EACCES错误的原因以及相应的解决方法&#xff1a; 文件系统权限&#xff1a;当您尝试…

❤️算法笔记❤️-(每日一刷-141、环形链表)

文章目录 题目思路解法 题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接…

【调参】如何为神经网络选择最合适的学习率lr-LRFinder-for-Keras

【调参】如何为神经网络选择最合适的学习率lr-LRFinder-for-Keras_学习率选择-CSDN博客文章浏览阅读9.2k次&#xff0c;点赞6次&#xff0c;收藏55次。keras 版本的LRFinder&#xff0c;借鉴 fast.ai Deep Learning course。前言学习率lr在神经网络中是最难调的全局参数&#x…

YOLOv9改进 添加可变形注意力机制DAttention

一、Deformable Attention Transformer论文 论文地址:arxiv.org/pdf/2201.00520.pdf 二、Deformable Attention Transformer注意力结构 Deformable Attention Transformer包含可变形注意力机制,允许模型根据输入的内容动态调整注意力权重。在传统的Transformer中,注意力是…

Qt 如何搭建lua的运行环境

一、lua简介 Lua 是一种强大的、高效的、轻量级的、可嵌入的脚本语言。它支持过程&#xff08;procedural&#xff09;编程、面向对象编程、函数式编程以及数据描述。Lua 是动态类型的&#xff0c;运行速度快&#xff0c;支持自动内存管理&#xff0c;因此被广泛用于配置、脚本…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Select)

提供下拉选择菜单&#xff0c;可以让用户在多个选项之间选择。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Select(options: Array<SelectOption>) 参数&#xff1a;…

HUAWEI 华为交换机 配置 MAC 地址漂移检测示例

组网需求 如 图 2-17 所示&#xff0c;网络中两台 LSW 间网线误接形成了网络环路&#xff0c;引起 MAC 地址发生漂 移、MAC 地址表震荡。 为了能够及时检测网络中出现的环路&#xff0c;可以在 Switch 上配置 MAC 地址漂移检测功能&#xff0c; 通过检测是否发生MAC 地址漂移…

网络学习:BGP路径属性分类

目录 前言&#xff1a; 路径属性分类 公认必遵 公认任意 可选过渡 可选非过渡 前言&#xff1a; 在默认情况下&#xff0c;到达同一目的地&#xff0c;BGP只走单条路径&#xff0c;并不会在多条路径之间执行负载均衡。对于IGP路由协议&#xff0c;当有多条路径可以到达同…

丘一丘正则表达式

正则表达式(regular expression,regex,RE) 正则表达式是一种用来简洁表达一组字符串的表达式正则表达式是一种通用的字符串表达框架正则表达式是一种针对字符串表达“简洁”和“特征”思想的工具正则表达式可以用来判断某字符串的特征归属 正则表达式常用操作符 操作符说明实…

[vscode]将命令行参数传递给调试目标

一、简介 本文介绍了在vscode中使用cmake工具时&#xff0c;如何传递参数给编译目标的方法。 前提&#xff1a;使用vscodecmake编译C/C程序。 二、方法 在.vscode/目录下新建settings.json文件&#xff0c;并将待传底的参数写在 cmake.debugConfig里。 下面介绍了一个示例&a…

DAY14二叉树迭代遍历

二叉树前序迭代法遍历 前序遍历是中左右&#xff0c;每次先处理的是中间节点&#xff0c;那么先将根节点放入栈中&#xff0c;然后将右孩子加入栈&#xff0c;再加入左孩子。 为什么要先加入 右孩子&#xff0c;再加入左孩子呢&#xff1f; 因为这样出栈的时候才是中左右的顺…

Stable Diffusion 如何写好提示词(Prompt)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 大家好&#xff0c;我是水滴~~ 本文深入探讨了如何撰写出优质的提示词&#xff0c;内容涵盖多个维度&#xff1a;提示词的多样化分类、模型应用中的经典提示词案例、提供丰富资源的提示词参考…

基于STM32的智慧农业管理系统设计与实现

文章目录 一、前言1.1 项目介绍【1】项目功能【2】设计实现的功能【3】项目硬件模块组成 1.2 设计思路1.3 传感器功能介绍1.4 开发工具的选择 二、EMQX开源MQTT服务器框架三、购买ECS云服务器3.1 登录官网3.2 购买ECS服务器3.3 配置安全组3.4 安装FinalShell3.5 远程登录到云服…

Java代码审计工程师直播第六期

本期直播课程将深入探讨Java代码审计的关键概念和技术。涵盖课题包括安全漏洞分析、代码审查方法、常见漏洞案例分析等。学员将通过实例掌握代码审计实战技能&#xff0c;提升对Java应用程序安全的认知和技能水平。 课程大小&#xff1a;6.1G 课程下载&#xff1a;https://do…

Docker 容器化技术:构建高效、可移植的开发环境和部署流程|Docker 三要素

镜像、容器、镜像仓库是 Docker 中最核心的三个概念&#xff0c;组成了 Docker 的整个生命周期。 &#xff08;镜像、容器、镜像仓库三者运行关系&#xff09; 1、镜像 镜像是 Docker 的核心元素质疑&#xff0c;作为容器运行的基础&#xff0c;Docker Hub 官网提供了庞大的镜…

第十五届蓝桥杯(Web 应用开发)模拟赛 3 期-大学组(被题目描述坑惨了)

目录 1.创意广告牌 2.原子化css 3.神秘咒语 4.朋友圈 5.美食蛋白揭秘 6.营业状态变更 7.小说阅读器 8.冰岛人 9.这是一个”浏览器“ 10.趣味加密解密 总结 1.创意广告牌 这个题目不多说了&#xff0c;只要知道这些css应该都能写出来&#xff0c;不会的平时多查查文…

突破界限的力量:探索Facebook如何打破国界、文化和语言的障碍

在当今全球化的时代&#xff0c;社交媒体已经成为人们生活中不可或缺的一部分&#xff0c;而Facebook作为其中的先驱者&#xff0c;更是在打破国界、文化和语言障碍方面发挥着举足轻重的作用。它不仅成为了人们交流、连接的重要平台&#xff0c;更是为不同国家、不同文化、不同…

固态存储是未来|浅析SSD架构的演进与创新技术-1

常见的SSD架构中&#xff0c;包括了SSD控制器、NAND颗粒、DRAM颗粒三大组件&#xff0c;SSD控制器的固件需要兼顾坏块管理、ECC纠错、垃圾回收GC、磨损均衡WL、NAND die介质管理、缓存交互等等。 随着时代的发展&#xff0c;SSD架构&#xff0c;也不断有新的挑战和需求。基于小…

抓取Instagram数据:Fizzler库带您进入C#爬虫程序的世界

引言 在当今数字化的世界中&#xff0c;数据是无价之宝。社交媒体平台如Instagram成为了用户分享照片、视频和故事的热门场所。作为开发人员&#xff0c;我们可以利用爬虫技术来抓取这些平台上的数据&#xff0c;进行分析、挖掘和应用。本文将介绍如何使用C#编写一个简单的Ins…